serenity/Kernel/VM
Andreas Kling 794758df3a Kernel: Implement some basic stack pointer validation
VM regions can now be marked as stack regions, which is then validated
on syscall, and on page fault.

If a thread is caught with its stack pointer pointing into anything
that's *not* a Region with its stack bit set, we'll crash the whole
process with SIGSTKFLT.

Userspace must now allocate custom stacks by using mmap() with the new
MAP_STACK flag. This mechanism was first introduced in OpenBSD, and now
we have it too, yay! :^)
2019-11-17 12:15:43 +01:00
..
AnonymousVMObject.cpp Kernel: Use a FixedArray for VMObject::m_physical_pages 2019-08-07 20:12:50 +02:00
AnonymousVMObject.h Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +02:00
InodeVMObject.cpp Kernel: Teach Region how to remap itself 2019-11-03 21:11:08 +01:00
InodeVMObject.h Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +02:00
MemoryManager.cpp Kernel: Implement some basic stack pointer validation 2019-11-17 12:15:43 +01:00
MemoryManager.h Kernel: Implement some basic stack pointer validation 2019-11-17 12:15:43 +01:00
PageDirectory.cpp Kernel: Display virtual addresses as V%p instead of L%x 2019-08-26 11:31:58 +02:00
PageDirectory.h Kernel: Add mapping from page directory base (PDB) to PageDirectory 2019-08-06 11:30:26 +02:00
PhysicalAddress.h Kernel: Add LogStream operator<< for PhysicalAddress 2019-09-15 20:47:49 +02:00
PhysicalPage.cpp Kernel: Move kmalloc() into a Kernel/Heap/ directory 2019-09-16 09:01:44 +02:00
PhysicalPage.h Kernel: Add a simple slab allocator for small allocations 2019-09-16 10:33:27 +02:00
PhysicalRegion.cpp Kernel: Fix returning pages to regions >= 2GB 2019-09-17 09:27:23 +02:00
PhysicalRegion.h Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
RangeAllocator.cpp Kernel: Make it possible to turn off VM guard pages at compile time 2019-09-30 17:22:16 +02:00
RangeAllocator.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
Region.cpp Kernel: Implement some basic stack pointer validation 2019-11-17 12:15:43 +01:00
Region.h Kernel: Implement some basic stack pointer validation 2019-11-17 12:15:43 +01:00
VirtualAddress.h Kernel: Add LogStream operator<< for VirtualAddress 2019-08-06 10:28:46 +02:00
VMObject.cpp Kernel: Use a FixedArray for VMObject::m_physical_pages 2019-08-07 20:12:50 +02:00
VMObject.h Kernel: Move page fault handling from MemoryManager to Region 2019-11-04 00:47:03 +01:00