ladybird/Kernel
Idan Horowitz cf271183b4 Kernel: Make Process::current() return a Process& instead of Process*
This has several benefits:
1) We no longer just blindly derefence a null pointer in various places
2) We will get nicer runtime error messages if the current process does
turn out to be null in the call location
3) GCC no longer complains about possible nullptr dereferences when
compiling without KUBSAN
2021-08-19 23:49:53 +02:00
..
ACPI Kernel: Move Mutex into Locking/ 2021-08-07 11:48:00 +02:00
API Kernel+Userland: Remove global futexes 2021-08-17 01:21:47 +02:00
Arch Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Bus Kernel/USB: Remove unused free function from QueueHead 2021-08-19 18:42:07 +02:00
Devices Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
FileSystem Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Graphics Kernel: Make Kernel::VMObject allocation functions return KResultOr 2021-08-15 15:41:02 +02:00
Heap Kernel: Allow kfree_aligned to be called on null pointers 2021-08-13 22:02:23 +02:00
Interrupts Kernel: Make Kernel::VMObject allocation functions return KResultOr 2021-08-15 15:41:02 +02:00
Library Kernel: Add a little explainer comment to ListedRefCounted 2021-08-17 01:21:47 +02:00
Locking Kernel: Convert lock debug APIs to east const 2021-08-13 20:42:39 +02:00
Memory Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Modules Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Net Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Prekernel Meta: Add Clang support to the CMake build scripts 2021-08-08 10:55:36 +02:00
Storage Kernel: Const defines for PCI IDs for storage controllers 2021-08-18 18:18:12 +02:00
Syscalls Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Tasks Kernel: Make VirtualFileSystem::sync() static 2021-07-11 00:26:17 +02:00
Time Kernel: Add CLOCK_MONOTONIC_COARSE to the kernel time page 2021-08-10 21:51:05 +02:00
TTY Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
AddressSanitizer.cpp Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
AddressSanitizer.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
Assertions.h AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +02:00
AtomicEdgeAction.h Kernel: Add AtomicEdgeAction class 2021-07-07 21:57:01 +02:00
BootInfo.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
CMakeLists.txt Kernel/USB: Move UHCI related structures to subdirectory 2021-08-19 18:42:07 +02:00
CMOS.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CMOS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CommandLine.cpp AK+Kernel: StringView hash map Traits should not set peek type to String 2021-08-18 10:21:19 +02:00
CommandLine.h AK+Kernel: StringView hash map Traits should not set peek type to String 2021-08-18 10:21:19 +02:00
ConsoleDevice.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
ConsoleDevice.h Kernel: Make various T::class_name() and similar return StringView 2021-07-11 01:46:59 +02:00
CoreDump.cpp Kernel/SMP: Skip thread registers in core dump if there is no trap frame 2021-08-10 02:49:37 +02:00
CoreDump.h Kernel: Use Forward.h headers more 2021-07-11 14:14:51 +02:00
Debug.h.in Kernel: Implement a ISO 9660 filesystem reader :^) 2021-08-07 15:21:58 +02:00
DoubleBuffer.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
DoubleBuffer.h Kernel: Move Mutex into Locking/ 2021-08-07 11:48:00 +02:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Move {Process,Thread,Session,ProcessGroup}ID to Kernel/Forward.h 2021-08-14 19:58:11 +02:00
FutexQueue.cpp Kernel+Userland: Remove global futexes 2021-08-17 01:21:47 +02:00
FutexQueue.h Kernel+Userland: Remove global futexes 2021-08-17 01:21:47 +02:00
GlobalProcessExposed.cpp Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
init.cpp Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
IO.h Kernel: Specify I/O size for BMIDEChannel 2021-06-28 15:55:00 +02:00
KBuffer.h Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
KBufferBuilder.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
KBufferBuilder.h Kernel: Remove KBufferBuilder's can_expand restriction 2021-07-20 18:05:05 +02:00
KLexicalPath.cpp Kernel: Make KLexicalPath::basename() more compliant 2021-07-11 14:10:58 +02:00
KLexicalPath.h Kernel: Add KLexicalPath::try_join and use it 2021-07-07 15:32:17 +02:00
kprintf.cpp Kernel: Introduce a StringView overload of dbgputstr(..) 2021-08-13 11:08:11 +02:00
KResult.h Kernel: Stop allowing implicit conversion from KResult to int 2021-08-14 15:19:00 +02:00
kstdio.h Kernel: Introduce a StringView overload of dbgputstr(..) 2021-08-13 11:08:11 +02:00
KString.cpp Kernel: Allow passing null pointer to delete 2021-07-14 13:12:25 +02:00
KString.h Kernel: Annotate KString methods as [[nodiscard]] 2021-08-13 11:08:11 +02:00
KSyms.cpp Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
KSyms.h Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
linker.ld Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
MiniStdLib.cpp Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
mkmap.sh Kernel: Use our toolchain's c++filt tool for the kernel map 2021-07-29 10:38:31 +02:00
Module.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Multiboot.h Prekernel: Export some multiboot parameters in our own BootInfo struct 2021-07-27 13:15:16 +02:00
Panic.cpp Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
Panic.h Kernel/Graphics + SystemServer: Support text mode properly 2021-05-16 19:58:33 +02:00
PerformanceEventBuffer.cpp Kernel: Make sys$perf_register_string() generate the string ID's 2021-08-12 00:03:39 +02:00
PerformanceEventBuffer.h Kernel: Make sys$perf_register_string() generate the string ID's 2021-08-12 00:03:39 +02:00
PerformanceManager.h Kernel: Add syscall performance event type 2021-08-10 21:55:48 +02:00
PhysicalAddress.h Kernel: Move PhysicalPage classes out of the heap into an array 2021-07-08 11:43:34 +02:00
Process.cpp Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Process.h Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
ProcessExposed.cpp Kernel: Specify directory entry types properly 2021-08-18 18:13:59 +02:00
ProcessExposed.h Kernel+Userland: Remove chroot functionality 2021-08-15 12:44:35 +02:00
ProcessGroup.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
ProcessGroup.h Kernel: Port process groups to SpinLockProtectedValue 2021-08-07 13:30:59 +02:00
ProcessProcFSTraits.cpp Kernel: Specify directory entry types properly 2021-08-18 18:13:59 +02:00
ProcessSpecificExposed.cpp Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Random.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
Random.h Kernel: Move Lockable into its own header 2021-08-07 11:48:00 +02:00
RTC.cpp Kernel: Ensure we read valid values from the RTC CMOS registers 2021-08-04 19:53:04 +02:00
RTC.h Kernel: Ensure we read valid values from the RTC CMOS registers 2021-08-04 19:53:04 +02:00
SanCov.cpp Kernel: Remove unused header includes 2021-08-01 08:10:16 +02:00
Scheduler.cpp Kernel: Lock thread list while in Thread::unref() 2021-08-15 12:44:35 +02:00
Scheduler.h Kernel: Rename queue_runnable_thread() => enqueue_runnable_thread() 2021-08-08 14:24:55 +02:00
Sections.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
StdLib.cpp Kernel: Remove copy_string_from_user() as it's no longer used 2021-08-15 12:44:35 +02:00
StdLib.h Kernel: Remove copy_string_from_user() as it's no longer used 2021-08-15 12:44:35 +02:00
Syscall.cpp Kernel: Stop allowing implicit conversion from KResult to int 2021-08-14 15:19:00 +02:00
Thread.cpp Kernel: Consolidate a bunch of i386/x86_64 code paths 2021-08-19 23:22:02 +02:00
Thread.h Kernel: Consolidate a bunch of i386/x86_64 code paths 2021-08-19 23:22:02 +02:00
ThreadBlockers.cpp Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
ThreadTracer.cpp Kernel: Remove unused header includes in root kernel tree 2021-07-11 21:37:38 +02:00
ThreadTracer.h Kernel: Move {Process,Thread,Session,ProcessGroup}ID to Kernel/Forward.h 2021-08-14 19:58:11 +02:00
TimerQueue.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
TimerQueue.h Kernel: Do not cancel stale timers when servicing sys$alarm 2021-08-03 18:44:01 +02:00
UBSanitizer.cpp Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
UnixTypes.h Kernel: Move {Process,Thread,Session,ProcessGroup}ID to Kernel/Forward.h 2021-08-14 19:58:11 +02:00
UserOrKernelBuffer.cpp Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
UserOrKernelBuffer.h Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
VirtualAddress.h Kernel: Make VirtualAddress::page_base() work with 64-bit addresses 2021-07-18 17:31:13 +02:00
WaitQueue.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
WaitQueue.h Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
WorkQueue.cpp Kernel: Move SpinLock.h into Locking/ 2021-08-07 11:48:00 +02:00
WorkQueue.h Kernel: Use plain Function objects for the WorkQueue 2021-05-19 21:36:57 +02:00