ladybird/Kernel
Ben Wiederhake b374dd03bd Kernel: Prevent inconsistent state after invalid read
copy_from_user can fail, for example when the user-supplied pointer is just before
the end of mapped address space. In that case, the first few bytes would get copied,
permanently overwriting the internal state of the Socket, potentially leaving it
in an inconsistent or at least difficult-to-predict state.
2021-03-02 08:36:08 +01:00
..
ACPI Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
API Kernel: Take some baby steps towards x86_64 2021-02-25 16:27:12 +01:00
Arch Kernel: Fix KUBSAN warnings due to unaligned APIC variables 2021-02-28 15:27:53 +01:00
Devices Kernel: Fix scrolling up in VMware 2021-03-01 11:10:10 +01:00
FileSystem Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Heap Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Interrupts Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Modules
Net Kernel: Prevent inconsistent state after invalid read 2021-03-02 08:36:08 +01:00
PCI Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Storage Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Syscalls Kernel: Fix build with IO_DEBUG 2021-03-01 16:07:50 +01:00
Tasks Kernel: Ignore unobserved BlockResult from Thread::Sleep 2021-02-15 08:28:57 +01:00
Time Kernel: Fix APIC timer calibration to be more accurate 2021-03-01 11:11:09 +01:00
TTY LibVT: Make VT::Line use a Vector for storage 2021-02-27 09:23:06 +01:00
VM Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
.gitignore Meta: Expect sync-local.sh script at repository root 2021-01-30 09:18:46 +01:00
AddressSanitizer.cpp Kernel: Initial integration of Kernel Address Sanitizer (KASAN) 2021-02-15 11:41:53 +01:00
AddressSanitizer.h Kernel: Initial integration of Kernel Address Sanitizer (KASAN) 2021-02-15 11:41:53 +01:00
Assertions.h Everywhere: Remove unused RELEASE_ASSERT macro 2021-02-23 21:11:53 +01:00
CMakeLists.txt Kernel: Move SMAP disabler RAII helper to its own file 2021-02-25 17:25:34 +01:00
CMOS.cpp
CMOS.h
CommandLine.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
CommandLine.h
Console.cpp Kernel: Slap UNMAP_AFTER_INIT on a bunch more functions 2021-02-19 21:42:18 +01:00
Console.h Kernel: Make device generate their own names 2021-01-22 22:17:39 +01:00
CoreDump.cpp Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
CoreDump.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Debug.h.in Kernel: Add NE2000 network card driver 2021-02-05 09:35:02 +01:00
DMI.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
DMI.h Kernel: Set file size for smbios_entry_point and DMI blobs in ProcFS 2021-02-01 17:13:23 +01:00
DoubleBuffer.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
DoubleBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Forward.h Kernel: Factor address space management out of the Process class 2021-02-08 18:27:28 +01:00
FutexQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FutexQueue.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
init.cpp Kernel: Add self-test boot mode, an alias for text mode 2021-02-28 18:19:37 +01:00
IO.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
KBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
KBufferBuilder.cpp Kernel: Assert if rounding-up-to-page-size would wrap around to 0 2021-02-14 10:01:50 +01:00
KBufferBuilder.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
kprintf.cpp Kernel: Don't take debug logging lock in sprintf() 2021-02-20 17:21:53 +01:00
KResult.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
kstdio.h Kernel: Remove kprintf() 2021-02-17 16:33:43 +01:00
KSyms.cpp Kernel: Move SMAP disabler RAII helper to its own file 2021-02-25 17:25:34 +01:00
KSyms.h Kernel: Take some baby steps towards x86_64 2021-02-25 16:27:12 +01:00
linker.ld Kernel: Add .unmap_after_init section for code we don't need after init 2021-02-19 20:23:05 +01:00
Lock.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Lock.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
LockMode.h
mkmap.sh
Module.h
Multiboot.h Kernel: Parse boot modules from Multiboot specification 2021-01-22 22:17:39 +01:00
Panic.cpp Kernel: Add a PANIC() function 2021-02-14 09:36:58 +01:00
Panic.h Kernel: Add a PANIC() function 2021-02-14 09:36:58 +01:00
PerformanceEventBuffer.cpp Kernel: Move SMAP disabler RAII helper to its own file 2021-02-25 17:25:34 +01:00
PerformanceEventBuffer.h Kernel: Prune uninteresting kernel frames from profiling samples 2021-01-17 14:36:53 +01:00
PhysicalAddress.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Process.cpp Kernel: Detach the traced process on process exit 2021-02-26 14:49:39 +01:00
Process.h Kernel: Use Userspace<T> in sys${munmap,mprotect,madvise,msyscall}() 2021-03-01 15:53:33 +01:00
ProcessGroup.cpp
ProcessGroup.h
Random.cpp Kernel: Fix APIC timer calibration to be more accurate 2021-03-01 11:11:09 +01:00
Random.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
RTC.cpp Kernel: Don't assert if RTC believes we're in the past 2021-02-11 20:58:39 +01:00
RTC.h
Scheduler.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Scheduler.h Kernel: Remove ancient unused Scheduler::beep() declaration 2021-02-07 20:45:09 +01:00
SpinLock.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
StdLib.cpp Kernel: Move SMAP disabler RAII helper to its own file 2021-02-25 17:25:34 +01:00
StdLib.h Kernel: Mark more StdLib functions as [[nodiscard]] 2021-02-15 09:34:52 +01:00
Syscall.cpp Kernel: Oops, SC_abort was actually calling sys$exit_thread() 2021-03-01 19:47:16 +01:00
Thread.cpp Kernel: Move SMAP disabler RAII helper to its own file 2021-02-25 17:25:34 +01:00
Thread.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ThreadBlockers.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
ThreadTracer.cpp Kernel: Reorganize ptrace implementation a bit 2021-02-08 19:34:41 +01:00
ThreadTracer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TimerQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TimerQueue.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
UBSanitizer.cpp Kernel: Improve KUBSAN logging for "type mismatch" errors 2021-02-24 14:27:06 +01:00
UBSanitizer.h KUBSAN: Add nearly all missing -fsanitize handlers (#5254) 2021-02-11 20:58:01 +01:00
UnixTypes.h Kernel+LibC: Add the _SC_GETPW_R_SIZE_MAX sysconf enum 2021-02-15 17:32:56 +01:00
UnveilNode.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
VirtualAddress.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
WaitQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
WaitQueue.h Kernel: Add WaitQueue::wait_forever and it use it for all infinite waits. 2021-02-15 08:28:57 +01:00