serenity/Kernel/Tasks
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
..
AtomicEdgeAction.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Coredump.cpp LibC+LibELF: Move ELF definitions from LibC to LibELF 2023-06-27 12:40:38 +02:00
Coredump.h Kernel: Move task-crash related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
CrashHandler.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
FinalizerTask.cpp Kernel/Tasks: Allow Kernel processes to be shut down 2023-07-15 00:12:01 +02:00
FinalizerTask.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FutexQueue.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
FutexQueue.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PerformanceEventBuffer.cpp Kernel: Move Performance-measurement code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PerformanceEventBuffer.h Kernel: Move Performance-measurement code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PerformanceManager.h Kernel: Move Performance-measurement code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PowerStateSwitchTask.cpp Kernel: Allow relaxing cleanup task rules during system shutdown 2023-07-15 00:12:01 +02:00
PowerStateSwitchTask.h Kernel: Allow relaxing cleanup task rules during system shutdown 2023-07-15 00:12:01 +02:00
Process.cpp Kernel: Allow relaxing cleanup task rules during system shutdown 2023-07-15 00:12:01 +02:00
Process.h Kernel: Consolidate finding the ELF stack size with validation 2023-07-10 21:08:31 -06:00
ProcessGroup.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ProcessGroup.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ProcessList.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Scheduler.cpp Kernel: Move InterruptDisabler to the Interrupts subdirectory 2023-06-04 21:32:34 +02:00
Scheduler.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
SyncTask.cpp Kernel/Tasks: Allow Kernel processes to be shut down 2023-07-15 00:12:01 +02:00
SyncTask.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Thread.cpp Kernel: Allow relaxing cleanup task rules during system shutdown 2023-07-15 00:12:01 +02:00
Thread.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
ThreadBlockers.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ThreadTracer.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ThreadTracer.h Everywhere: Remove exceptions for using #include <LibC/...> 2023-06-27 12:40:38 +02:00
WaitQueue.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
WaitQueue.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
WorkQueue.cpp Kernel/Tasks: Allow Kernel processes to be shut down 2023-07-15 00:12:01 +02:00
WorkQueue.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00