ladybird/Kernel/VM
Brian Gianforcaro 27e1120dff Kernel: Move syscall precondition validates to MM
Move these to MM to simplify the flow of the syscall handler.

While here, also make sure we hold the process space lock for
the duration of the validation to avoid potential issues where
another thread attempts to modify the process space during the
validation. This will allow us to move the validation out of the
big process lock scope in a future change.

Additionally utilize the new no_lock variants of functions to avoid
unnecessary recursive process space spinlock acquisitions.
2021-07-20 03:21:14 +02:00
..
AllocationStrategy.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
AnonymousVMObject.cpp Kernel: Rename Locker => MutexLocker 2021-07-18 01:53:04 +02:00
AnonymousVMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
ContiguousVMObject.cpp Kernel: Remove API for requesting physical allocation alignment 2021-07-13 22:40:25 +02:00
ContiguousVMObject.h Kernel: Remove API for requesting physical allocation alignment 2021-07-13 22:40:25 +02:00
InodeVMObject.cpp Kernel: Rename Locker => MutexLocker 2021-07-18 01:53:04 +02:00
InodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MappedROM.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
MemoryManager.cpp Kernel: Move syscall precondition validates to MM 2021-07-20 03:21:14 +02:00
MemoryManager.h Kernel: Move syscall precondition validates to MM 2021-07-20 03:21:14 +02:00
PageDirectory.cpp Kernel: Hand out 64-bit addresses to userspace 2021-07-18 17:31:13 +02:00
PageDirectory.h Kernel: Fix 64-bit address truncation in MemoryManager::ensure_pte() 2021-07-18 17:31:13 +02:00
PageFaultResponse.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
PhysicalPage.cpp Kernel: Convert the PhysicalPage bool parameter to an enum 2021-07-17 18:38:28 +04:30
PhysicalPage.h Kernel: Convert the PhysicalPage bool parameter to an enum 2021-07-17 18:38:28 +04:30
PhysicalRegion.cpp Kernel: Remove debug spam when PhysicalRegion::take_free_page() fails 2021-07-14 01:37:31 +02:00
PhysicalRegion.h Kernel: Fix logic error in PhysicalRegion::contains() 2021-07-14 01:37:19 +02:00
PhysicalZone.cpp Kernel: Cut allocation size for physical buddy bitmaps in half 2021-07-13 23:47:49 +02:00
PhysicalZone.h Kernel: Remove some friendships and make some classes non-copy/moveable 2021-07-13 23:19:00 +02:00
PrivateInodeVMObject.cpp Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
PrivateInodeVMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
ProcessPagingScope.cpp Kernel: Remove unused header includes in VM subtree 2021-07-11 21:37:38 +02:00
ProcessPagingScope.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
Range.h Kernel: Add formatter for Kernel::Range 2021-07-11 19:42:00 +02:00
RangeAllocator.cpp Kernel: Make allocate_randomized() work for 64-bit addresses 2021-07-18 17:31:13 +02:00
RangeAllocator.h Kernel: Declare VM/RangeAllocator trivial destructor as default 2021-07-17 13:02:09 +02:00
Region.cpp Kernel: Rename Locker => MutexLocker 2021-07-18 01:53:04 +02:00
Region.h Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
RingBuffer.cpp Kernel: Add support for reading from VirtIOConsole 2021-07-09 13:19:21 +04:30
RingBuffer.h Kernel: Support multiport for VirtIOConsole 2021-07-09 13:19:21 +04:30
ScatterGatherList.cpp Kernel: Rename various *VMObject::create*() => try_create() 2021-07-11 17:55:29 +02:00
ScatterGatherList.h Kernel: Remove unused header includes in VM subtree 2021-07-11 21:37:38 +02:00
SharedInodeVMObject.cpp Kernel: Use "new (nothrow)" for SharedInodeVMObject 2021-07-11 21:56:26 +02:00
SharedInodeVMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
Space.cpp Kernel: Remove double RedBlackTree lookup in VM/Space region removal 2021-07-17 16:22:59 +02:00
Space.h Kernel: Remove double RedBlackTree lookup in VM/Space region removal 2021-07-17 16:22:59 +02:00
TypedMapping.h Kernel/TypedMapping: Round up length with offset_in_page 2021-07-02 13:16:12 +02:00
VMObject.cpp Kernel: Store VMObject physical pages in a FixedArray 2021-07-11 17:42:31 +02:00
VMObject.h Kernel: Rename Lock to Mutex 2021-07-17 21:10:32 +02:00