serenity/Kernel
Idan Horowitz bbceb155ce Kernel: Restrict KASLR randomization range when KASAN is enabled
To allow for easy mapping between the kernel virtual addresses and
KASAN shadow memory, we map shadow memory at the very end of the
virtual range, so that we can index into it using just an offset.
To ensure this range is free when needed, we restrict the possible
KASLR range when KASAN is enabled to make sure we don't use the end of
the virtual range.

This fixes the random kernel panics that could occur when KASAN is
enabled, if the kernel was randomly placed at the very end of the
virtual range.
2023-12-30 23:18:49 +01:00
..
API Revert "Kernel+Userland: Implement support for PS2 scan code set 2" 2023-12-29 22:02:19 +01:00
Arch Revert "Kernel+Userland: Implement support for PS2 scan code set 2" 2023-12-29 22:02:19 +01:00
Boot Revert "Kernel: Add boot parameter to determine i8042 first port translation" 2023-12-29 22:02:19 +01:00
Bus Kernel/USB: Add a rudimentary interrogation only EHCI driver 2023-12-28 17:08:34 +01:00
Devices Revert "Kernel+Userland: Implement support for PS2 scan code set 2" 2023-12-29 22:02:19 +01:00
FileSystem Kernel: Add initial basic support for KASAN 2023-12-30 13:57:10 +01:00
Firmware/ACPI Kernel: Overhaul system shutdown procedure 2023-07-15 00:12:01 +02:00
Heap Kernel: Add initial basic support for KASAN 2023-12-30 13:57:10 +01:00
Interrupts Kernel/Interrupts: Move PCIIRQHandler => PCI::IRQHandler 2023-09-16 14:04:17 -06:00
Library AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
Locking Kernel: Share Processor class (and others) across architectures 2023-10-03 16:08:29 -06:00
Memory Kernel: Add initial basic support for KASAN 2023-12-30 13:57:10 +01:00
Net Kernel: Add support for TCP window size scaling 2023-12-26 21:36:49 +01:00
Prekernel Kernel: Restrict KASLR randomization range when KASAN is enabled 2023-12-30 23:18:49 +01:00
Security Kernel: Add initial basic support for KASAN 2023-12-30 13:57:10 +01:00
Syscalls Kernel: Mark sys$getsockname as not needing the big process lock 2023-12-26 19:20:21 +01:00
Tasks Kernel: Protect processes' master TLS with a fine-grained spinlock 2023-12-26 19:20:21 +01:00
Time Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
CMakeLists.txt Kernel: Add initial basic support for KASAN 2023-12-30 13:57:10 +01:00
Debug.h.in Kernel: Add a framebuffer driver for 3Dfx Voodoo 3 2023-10-16 01:25:45 +02:00
embedmap.sh
Forward.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
generate-version-file.sh Kernel: Bake version information into the Kernel 2022-10-14 13:45:33 +02:00
kprintf.cpp Kernel: Move TTY-related code to a new subdirectory under Devices 2023-09-09 12:08:59 -06:00
kstdio.h Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
KSyms.cpp Kernel/riscv64: Make the kernel compile 2023-11-10 15:51:31 -07:00
KSyms.h Kernel: Add ability to dump backtrace from provided frame pointer 2022-10-01 14:09:01 +02:00
mkmap.sh Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
SanCov.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Sections.h Kernel: Move all boot-related code to the new Boot subdirectory 2023-06-04 21:32:34 +02:00
UnixTypes.h Kernel/Net: Implement TCP_NODELAY 2023-11-08 09:31:54 +01:00