ladybird/Kernel
Andreas Kling 75564b4a5f Kernel: Make kernel region allocators return KResultOr<NOP<Region>>
This expands the reach of error propagation greatly throughout the
kernel. Sadly, it also exposes the fact that we're allocating (and
doing other fallible things) in constructors all over the place.

This patch doesn't attempt to address that of course. That's work for
our future selves.
2021-09-06 01:55:27 +02:00
..
ACPI Kernel: Add x2APIC support 2021-09-04 22:22:58 +02:00
API Kernel: Make KResult usable with TRY() as well 2021-09-05 14:50:52 +02:00
Arch Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Bus Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Devices Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
FileSystem Kernel: Simplify WatchDescription::create() 2021-09-06 01:55:27 +02:00
Graphics Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Heap Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Interrupts Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Library Kernel: Rename SpinLock => Spinlock 2021-08-22 03:34:10 +02:00
Locking Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
Memory Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Modules Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Net Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Prekernel Prekernel: Make build on aarch64 2021-08-28 21:51:30 +01:00
Storage Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Syscalls Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Tasks Kernel: Make VirtualFileSystem::sync() static 2021-07-11 00:26:17 +02:00
Time Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
TTY Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +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/VirtIO: Remove redundant VirtIO word from filenames 2021-08-31 16:51:13 +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 Kernel: Convert UserOrKernelBuffer callbacks to use AK::Bytes 2021-09-01 18:06:14 +02:00
ConsoleDevice.h Kernel: Make various T::class_name() and similar return StringView 2021-07-11 01:46:59 +02:00
Coredump.cpp Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
Coredump.h Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
Debug.h.in Kernel: Verify interrupts are disabled when interacting with Mutexes 2021-08-28 20:53:38 +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+LibC: Implement FIONREAD ioctl 2021-08-22 10:29:06 +02:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
FutexQueue.cpp Kernel: Don't register thread as custom data for FutexBlocker 2021-08-24 01:57:11 +02:00
FutexQueue.h Kernel: Don't register thread as custom data for FutexBlocker 2021-08-24 01:57:11 +02:00
GlobalProcessExposed.cpp Kernel: Use ProcessID a bit more in Socket 2021-08-29 01:09:19 +02:00
init.cpp Kernel: Tidy up VirtualFileSystem::mount_root() a little bit 2021-09-05 14:46:44 +02:00
IO.h Kernel: Specify I/O size for BMIDEChannel 2021-06-28 15:55:00 +02:00
KBuffer.h Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
KBufferBuilder.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
KBufferBuilder.h Everywhere: Pass AK::Format TypeErasedFormatParams by reference 2021-08-30 15:50:00 +04:30
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: Rename ScopedSpinlock => SpinlockLocker 2021-08-22 03:34:10 +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: Rename ScopedSpinlock => SpinlockLocker 2021-08-22 03:34:10 +02:00
PerformanceEventBuffer.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +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 kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Process.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
ProcessExposed.cpp Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
ProcessExposed.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +02:00
ProcessGroup.cpp Kernel: Use KResultOr better in ProcessGroup construction 2021-09-06 01:55:27 +02:00
ProcessGroup.h Kernel: Use KResultOr better in ProcessGroup construction 2021-09-06 01:55:27 +02:00
ProcessProcFSTraits.cpp Kernel: Strongly typed user & group ID's 2021-08-29 01:09:19 +02:00
ProcessSpecificExposed.cpp Kernel: Make file description lookup return KResultOr 2021-09-05 18:36:13 +02:00
Random.cpp Kernel: Convert random bytes interface to use AK::Bytes 2021-09-01 18:06:14 +02:00
Random.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +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/KCOV: Bring closer to typical SerenityOS coding style 2021-09-06 01:55:27 +02:00
Scheduler.cpp Kernel: Rename Spinlock::is_owned_by_current_thread() 2021-08-29 22:19:42 +02:00
Scheduler.h Kernel: Rename SpinLock => Spinlock 2021-08-22 03:34:10 +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: Make copy_{from,to}_user() return KResult and use TRY() 2021-09-05 17:38:37 +02:00
StdLib.h Kernel: Add copy_typed_from_userspace<T>(Userspace<T const*>) 2021-09-05 17:50:34 +02:00
Syscall.cpp Kernel: Declare syscall handlers with "using" instead of "typedef" 2021-09-05 09:48:43 +01:00
Thread.cpp Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Thread.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
ThreadBlockers.cpp Kernel: Rename FileBlocker::unblock() => unblock_if_conditions_are_met() 2021-09-05 01:10:56 +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 Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +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: Make copy_{from,to}_user() return KResult and use TRY() 2021-09-05 17:38:37 +02:00
UserOrKernelBuffer.h Kernel: Remove UserOrKernelBuffer::copy_into_string() 2021-09-05 01:10:56 +02:00
VirtualAddress.h Kernel: Make VirtualAddress methods constexpr 2021-08-25 12:12:59 +02:00
WaitQueue.cpp Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WaitQueue.h Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WorkQueue.cpp Kernel: Rename ScopedSpinlock => SpinlockLocker 2021-08-22 03:34:10 +02:00
WorkQueue.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00