serenity/Kernel/Memory
kleines Filmröllchen 2fd23745a9 Kernel: Allow relaxing cleanup task rules during system shutdown
Once we move to a more proper shutdown procedure, processes other than
the finalizer task must be able to perform cleanup and finalization
duties, not only because the finalizer task itself needs to be cleaned
up by someone. This global variable, mirroring the early boot flags,
allows a future shutdown process to perform cleanup on its own.

Note that while this *could* be considered a weakening in security, the
attack surface is minimal and the results are not dramatic. To exploit
this, an attacker would have to gain a Kernel write primitive to this
global variable (bypassing KASLR among other things) and then gain some
way of calling the relevant functions, all of this only to destroy some
other running process. The same effect can be achieved with LPE which
can often be gained with significantly simpler userspace exploits (e.g.
of setuid binaries).
2023-07-15 00:12:01 +02:00
..
AddressSpace.cpp Kernel: Allow relaxing cleanup task rules during system shutdown 2023-07-15 00:12:01 +02:00
AddressSpace.h Kernel: Store a pointer to the owner process in PageDirectory 2023-04-06 20:30:03 +03:00
AllocationStrategy.h Kernel: Rename Kernel/VM/ to Kernel/Memory/ 2021-08-06 14:05:58 +02:00
AnonymousVMObject.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
AnonymousVMObject.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
InodeVMObject.cpp Kernel: Use RefPtr instead of LockRefPtr for PhysicalPage 2022-08-24 18:35:41 +02:00
InodeVMObject.h Kernel: Mark a bunch of NonnullRefPtrs also const to ensure immutability 2023-04-08 13:44:21 +02:00
MappedROM.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
MemoryManager.cpp Kernel: Move InterruptDisabler to the Interrupts subdirectory 2023-06-04 21:32:34 +02:00
MemoryManager.h Kernel: Extend the lifetime of Regions during page fault handling 2023-04-06 20:30:03 +03:00
PageFaultResponse.h Kernel: Send SIGBUS to threads that use after valid Inode mmaped range 2022-09-26 20:00:34 +03:00
PhysicalAddress.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
PhysicalPage.cpp Kernel: Make NNRP<PhysicalPage const> possible 2023-02-21 00:54:04 +01:00
PhysicalPage.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
PhysicalRegion.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
PhysicalRegion.h Kernel: Stop using NonnullLockRefPtrVector 2023-03-06 23:46:36 +01:00
PhysicalZone.cpp Kernel: Add implied auto qualifiers in Memory 2022-01-09 23:29:57 -08:00
PhysicalZone.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
PrivateInodeVMObject.cpp AK: Rename Bitmap::try_create() to ::create() 2022-12-22 15:48:53 +01:00
PrivateInodeVMObject.h Kernel: Handle mmap requests on zero-length data file inodes safely 2022-09-16 14:55:45 +03:00
Region.cpp Kernel: Move InterruptDisabler to the Interrupts subdirectory 2023-06-04 21:32:34 +02:00
Region.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
RegionTree.cpp Kernel: Move Random.{h,cpp} code to Security subdirectory 2023-06-04 21:32:34 +02:00
RegionTree.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
RingBuffer.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
RingBuffer.h Kernel: Add an initial implementation of virtio-net driver 2023-07-11 00:49:11 -06:00
ScatterGatherList.cpp Kernel/ScatterGatherList: Add region_name as a part of try_create API 2023-05-19 22:04:37 +02:00
ScatterGatherList.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
ScopedAddressSpaceSwitcher.cpp Kernel: Move InterruptDisabler to the Interrupts subdirectory 2023-06-04 21:32:34 +02:00
ScopedAddressSpaceSwitcher.h Kernel: Implement ScopedAddressSpaceSwitcher using PageDirectory 2023-04-06 21:19:58 +03:00
SharedFramebufferVMObject.cpp Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
SharedFramebufferVMObject.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
SharedInodeVMObject.cpp AK: Rename Bitmap::try_create() to ::create() 2022-12-22 15:48:53 +01:00
SharedInodeVMObject.h Kernel: Handle mmap requests on zero-length data file inodes safely 2022-09-16 14:55:45 +03:00
TypedMapping.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
VirtualAddress.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
VirtualRange.cpp Kernel+LibC: Move name length constants to Kernel/API from limits.h 2023-01-21 10:43:59 -07:00
VirtualRange.h Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
VMObject.cpp AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
VMObject.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00