ladybird/Kernel
Brian Gianforcaro 0f7fe1eb08 Kernel: Use Process::require_no_promises instead of REQUIRE_NO_PROMISES
This change lays the foundation for making the require_promise return
an error hand handling the process abort outside of the syscall
implementations, to avoid cases where we would leak resources.

It also has the advantage that it makes removes a gs pointer read
to look up the current thread, then process for every syscall. We
can instead go through the Process this pointer in most cases.
2021-12-29 18:08:15 +01:00
..
API Kernel+LibC: Add ECANCELED errno value 2021-12-29 03:42:45 -08:00
Arch Kernel: Return the actual number of CPU cores that we have 2021-12-29 03:17:41 -08:00
Bus Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
Devices Kernel: Rename File::{before_removing => will_be_destroyed} 2021-12-29 12:04:15 +01:00
FileSystem Kernel: Make File::unref virtual 2021-12-29 15:46:14 +02:00
Firmware Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
Graphics Kernel: Use Process::require_promise() instead of REQUIRE_PROMISE() 2021-12-29 18:08:15 +01:00
Heap Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
Interrupts Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
Library Kernel: Support Mutex Protected lists in ListedRefCounted 2021-12-29 12:04:15 +01:00
Locking Kernel: Remove no-longer-used Lockable template 2021-12-26 21:22:59 +01:00
Memory Kernel: Support Mutex Protected lists in ListedRefCounted 2021-12-29 12:04:15 +01:00
Net Kernel: Use Process::require_promise() instead of REQUIRE_PROMISE() 2021-12-29 18:08:15 +01:00
Prekernel Kernel: Do not do integer to pointer conversion in constexpr functions 2021-12-04 11:59:59 -08:00
Storage Kernel: Rename File::{before_removing => will_be_destroyed} 2021-12-29 12:04:15 +01:00
Syscalls Kernel: Use Process::require_no_promises instead of REQUIRE_NO_PROMISES 2021-12-29 18:08:15 +01:00
Tasks Kernel: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
Time Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
TTY Kernel: Use Process::require_promise() instead of REQUIRE_PROMISE() 2021-12-29 18:08:15 +01: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 Kernel: Remove ASM_Wrapper include from platform independent processor.h 2021-12-01 11:22:04 -08:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Kernel: Add an x86 include check+error in x86/PageDirectory.h 2021-12-01 11:22:04 -08:00
CMakeLists.txt Kernel: Implement and use the syscall/sysret instruction pair on x86_64 2021-12-28 23:15:38 +01:00
CMOS.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
CMOS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CommandLine.cpp Kernel: Ensure SMP mode is not enabled if IOAPIC mode is disabled 2021-12-20 11:00:31 -08:00
CommandLine.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
Coredump.cpp Kernel: Exclude PROT_NONE regions from coredumps 2021-12-22 00:02:36 -08:00
Coredump.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
Debug.h.in Kernel: Add AC97_DEBUG macro 2021-11-28 19:26:22 +02:00
DoubleBuffer.cpp Kernel: Share code between DoubleBuffer's read() and peek() 2021-11-21 20:22:48 +01:00
DoubleBuffer.h Kernel: Share code between DoubleBuffer's read() and peek() 2021-11-21 20:22:48 +01:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01: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: Port Process to ListedRefCounted 2021-12-29 12:04:15 +01:00
init.cpp Kernel: Remove old SlabAllocator :^) 2021-12-26 21:22:59 +01:00
KBuffer.h Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KBufferBuilder.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KBufferBuilder.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
KLexicalPath.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
KLexicalPath.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
kprintf.cpp Kernel+UE+LibC: Remove unused dbgputch syscall 2021-11-24 22:56:39 +01:00
kstdio.h Kernel+UE+LibC: Remove unused dbgputch syscall 2021-11-24 22:56:39 +01:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KSyms.cpp Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
KSyms.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
linker.ld Kernel: Support split data sections 2021-10-17 17:09:58 +01:00
MiniStdLib.cpp Kernel: Build MiniStdLib.cpp in aarch64 builds 2021-09-07 20:15:15 +01:00
mkmap.sh Kernel: Use our toolchain's c++filt tool for the kernel map 2021-07-29 10:38:31 +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: Separate panic behavior from bootmode 2021-10-25 23:38:28 +02:00
Panic.h Kernel/Graphics + SystemServer: Support text mode properly 2021-05-16 19:58:33 +02:00
PerformanceEventBuffer.cpp Kernel: Mask kernel addresses in perf event streams for non-superuser 2021-12-19 18:18:38 +01:00
PerformanceEventBuffer.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
PerformanceManager.h Kernel: Resolve clang-tidy readability-qualified-auto warning 2021-11-14 22:52:35 +01:00
PhysicalAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
Process.cpp Kernel: Port Process to ListedRefCounted 2021-12-29 12:04:15 +01:00
Process.h Kernel: Port Process to ListedRefCounted 2021-12-29 12:04:15 +01:00
ProcessExposed.cpp Kernel: Use DistinctNumeric for filesystem ID's 2021-11-18 21:11:30 +01:00
ProcessExposed.h Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
ProcessGroup.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessGroup.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessProcFSTraits.cpp Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
ProcessSpecificExposed.cpp Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
Random.cpp Kernel: Make KernelRng not inherit from Lockable 2021-12-26 21:22:59 +01:00
Random.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
RTC.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +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: Remove the KString::try_create(String::formatted(...)) pattern 2021-12-28 01:55:22 -08:00
Scheduler.h Kernel: Rename SpinLock => Spinlock 2021-08-22 03:34:10 +02:00
Sections.h Kernel: Move userspace virtual address range base to 0x10000 2021-12-22 00:02:36 -08:00
StdLib.cpp Kernel: Remove unused String.h includes 2021-12-11 13:15:26 -08:00
StdLib.h Kernel: Remove unused forward declaration of Syscall::StringArgument 2021-11-14 22:52:35 +01:00
Syscall.cpp Kernel: Enable SMAP protection earlier during syscall entry 2021-12-18 11:30:10 +01:00
Thread.cpp Kernel: Remove the KString::try_create(String::formatted(...)) pattern 2021-12-28 01:55:22 -08:00
Thread.h Kernel: Support Mutex Protected lists in ListedRefCounted 2021-12-29 12:04:15 +01:00
ThreadBlockers.cpp AK+Everywhere: Replace __builtin bit functions 2021-12-21 22:13:51 +01:00
ThreadTracer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
ThreadTracer.h Kernel: Resolve clang-tidy readability-implicit-bool-conversion warnings 2021-11-14 22:52:35 +01:00
TimerQueue.cpp Kernel: Remove a bunch of unused TimerQueue functions 2021-09-07 22:16:25 +02:00
TimerQueue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
UBSanitizer.cpp Kernel: Print KUBSAN backtrace to screen if KUBSAN is deadly 2021-12-29 17:58:44 +01: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: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
UserOrKernelBuffer.h Kernel+LibC: Move errno definitions to Kernel/API/POSIX 2021-12-16 22:21:35 +03:30
VirtualAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01: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: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
WorkQueue.h Kernel: Remove old SlabAllocator :^) 2021-12-26 21:22:59 +01:00