ladybird/Kernel
Idan Horowitz 1950e79d48 Kernel: Eliminate possible KASLR leak by disabling CR4.FSGSBASE
The RDGSBASE userspace instruction allows programs to read the contents
of the gs segment register which contains a kernel pointer to the base
of the current Processor struct.

Since we don't use this instruction in Serenity at the moment, we can
simply disable it for now to ensure we don't break KASLR. Support can
later be restored once proper swapping of the contents of gs is done on
userspace/kernel boundaries.
2022-06-22 07:52:35 +03:00
..
API Kernel: Add sysconf for IOV_MAX 2022-06-19 09:05:35 +02:00
Arch Kernel: Eliminate possible KASLR leak by disabling CR4.FSGSBASE 2022-06-22 07:52:35 +03:00
Bus Kernel/SysFS: Split bulky SysFSPCI file into separate files 2022-06-17 11:01:27 +02:00
Devices Kernel/SysFS: Migrate components code from SysFS.cpp to the SysFS folder 2022-06-17 11:01:27 +02:00
FileSystem Kernel: Create /proc/pid/cmdline to expose process arguments in procfs 2022-06-19 09:05:35 +02:00
Firmware Kerenl/Firmware: Add map_ebda and map_bios methods in the original place 2022-06-17 11:01:27 +02:00
Graphics Kernel/Console: Fix gaps between background glyph color 2022-06-11 12:19:29 +01:00
Heap Kernel: Move allocate_unbacked_region_anywhere() to MemoryManager 2022-04-05 13:45:10 +02:00
Interrupts Kernel: Move IRQController and InterruptManagement to Arch directory 2022-06-02 13:14:12 +01:00
Library Kernel+AK: Split Weakable.h into userspace and kernel variants 2022-06-15 17:15:04 +02:00
Locking Kernel: Verify mutex big lock behavior 2022-04-09 15:55:20 +02:00
Memory Kernel: Decrease the amount of address space offset randomization 2022-06-21 22:38:15 +01:00
Net Kernel: Unify Kernel task names for consistency 2022-06-05 14:09:44 +01:00
Prekernel Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Storage Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
Syscalls Kernel: Add sysconf for IOV_MAX 2022-06-19 09:05:35 +02:00
Tasks Kernel: Unify Kernel task names for consistency 2022-06-05 14:09:44 +01:00
Time Kernel: Make TimeManagement::boot_time() static 2022-06-15 17:15:04 +02:00
TTY Kernel: Set console active before try to enable graphical mode 2022-06-06 20:11:05 +01:00
AddressSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AddressSanitizer.h
Assertions.h Kernel: Do not implement VERIFY_NOT_REACHED() as VERIFY(false) 2022-05-12 13:12:37 +02:00
AtomicEdgeAction.h
BootInfo.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CMakeLists.txt Kernel/SysFS: Remove derived BIOSSysFSComponent classes 2022-06-17 11:01:27 +02:00
CMOS.cpp
CMOS.h
CommandLine.cpp Kernel/Graphics: Simplify the feature level of the Graphics subsystem 2022-05-05 20:55:57 +02:00
CommandLine.h Kernel/Graphics: Simplify the feature level of the Graphics subsystem 2022-05-05 20:55:57 +02:00
Coredump.cpp Kernel: Store AddressSpace memory regions in an IntrusiveRedBlackTree 2022-04-03 21:51:58 +02:00
Coredump.h
Debug.h.in Kernel: Stop debug spam when using mmap on /dev/mem device 2022-04-01 19:59:45 +02:00
DoubleBuffer.cpp Kernel: Implement InterruptDisabler using generic Processor functions 2022-06-02 13:14:12 +01:00
DoubleBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
embedmap.sh
Forward.h Kernel/SysFS: Migrate components code from SysFS.cpp to the SysFS folder 2022-06-17 11:01:27 +02:00
FutexQueue.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FutexQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
GlobalProcessExposed.cpp Kernel: Move IRQController and InterruptManagement to Arch directory 2022-06-02 13:14:12 +01:00
init.cpp Kernel/SysFS: Stop cluttering the codebase with pieces of SysFS parts 2022-06-17 11:01:27 +02:00
KBuffer.h
KBufferBuilder.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KBufferBuilder.h Kernel: Expose .length() of KBufferBuilder 2022-05-06 02:12:51 +04:30
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
kstdio.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KString.cpp
KString.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KSyms.cpp Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
KSyms.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
MiniStdLib.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
mkmap.sh
Multiboot.h
Panic.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Panic.h Kernel: Implement __panic() for the aarch64 Kernel 2022-05-03 21:53:36 +02:00
PerformanceEventBuffer.cpp Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
PerformanceEventBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PerformanceManager.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PhysicalAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Process.cpp Kernel: Implement InterruptDisabler using generic Processor functions 2022-06-02 13:14:12 +01:00
Process.h Kernel: Create /proc/pid/cmdline to expose process arguments in procfs 2022-06-19 09:05:35 +02:00
ProcessExposed.cpp Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
ProcessExposed.h Kernel: Create /proc/pid/cmdline to expose process arguments in procfs 2022-06-19 09:05:35 +02:00
ProcessGroup.cpp
ProcessGroup.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessProcFSTraits.cpp Kernel: Create /proc/pid/cmdline to expose process arguments in procfs 2022-06-19 09:05:35 +02:00
ProcessSpecificExposed.cpp Kernel: Create /proc/pid/cmdline to expose process arguments in procfs 2022-06-19 09:05:35 +02:00
Random.cpp
Random.h Kernel: Make PhysicalRegion.cpp compile on aarch64 2022-04-02 19:34:20 -07:00
RTC.cpp
RTC.h
SanCov.cpp
Scheduler.cpp Kernel: Unify Kernel task names for consistency 2022-06-05 14:09:44 +01:00
Scheduler.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Sections.h Kernel: Use the whole kernel PD range when randomizing the KASLR offset 2022-03-23 19:49:49 +02:00
StdLib.cpp Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
StdLib.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Syscall.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Thread.cpp Kernel: Implement InterruptDisabler using generic Processor functions 2022-06-02 13:14:12 +01:00
Thread.h Kernel: Increase the default userspace stack size to 4 MiB 2022-04-12 16:48:15 +02:00
ThreadBlockers.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TimerQueue.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TimerQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UBSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UnixTypes.h
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
VirtualAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WaitQueue.cpp
WaitQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WorkQueue.cpp Kernel: Unify Kernel task names for consistency 2022-06-05 14:09:44 +01:00
WorkQueue.h Kernel: Take WorkQueue item as reference instead of pointer in do_queue 2022-04-20 19:47:18 +02:00