ladybird/Kernel
Idan Horowitz efeb01e35f Kernel: Disable big process lock for sys$get_stack_bounds
This syscall only reads from the shared m_space field, but that field
is only over written to by Process::attach_resources, before the
process was initialized (aka, before syscalls can happen), by
Process::finalize which is only called after all the process' threads
have exited (aka, syscalls can not happen anymore), and by
Process::do_exec which calls all other syscall-capable threads before
doing so. Space's find_region_containing already holds its own lock,
and as such there's no need to hold the big lock.
2021-08-06 23:36:12 +02:00
..
ACPI Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
API Kernel: Disable big process lock for sys$get_stack_bounds 2021-08-06 23:36:12 +02:00
Arch Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
Bus Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Devices Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
FileSystem Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Graphics Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Heap Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Interrupts Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Memory Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Modules Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Net Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Prekernel Prekernel: Disable KASAN, so it has no effect when enabled 2021-07-30 16:58:09 +02:00
Storage Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Syscalls Kernel: Disable big process lock for sys$get_stack_bounds 2021-08-06 23:36:12 +02:00
Tasks Kernel: Make VirtualFileSystem::sync() static 2021-07-11 00:26:17 +02:00
Time Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
TTY Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
VirtIO Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +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: Rename Memory::Space => Memory::AddressSpace 2021-08-06 14:05:58 +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 Kernel: Un-unmap-after-init CommandLine::boot_mode() 2021-07-26 11:33:14 +02:00
CommandLine.h Kernel/CommandLine: Add option to disable physical networking hardware 2021-06-09 22:44:09 +04:30
ConsoleDevice.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +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: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
CoreDump.h Kernel: Use Forward.h headers more 2021-07-11 14:14:51 +02:00
Debug.h.in USB: Further Implement USB Structures 2021-06-12 18:17:25 +04:30
DoubleBuffer.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
DoubleBuffer.h Kernel: Remove OOM unsafe DoubleBuffer constructor 2021-08-03 18:54:23 +02:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Rename Memory::Space => Memory::AddressSpace 2021-08-06 14:05:58 +02:00
FutexQueue.cpp Kernel: Fix futex race that could lead to thread waiting forever 2021-07-07 10:05:55 +02:00
FutexQueue.h Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
GlobalProcessExposed.cpp Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
init.cpp Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +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: Hold the global logging lock in dbgputch 2021-08-06 23:36:12 +02:00
KResult.h AK+Kernel: Fix perfect forwarding constructors shadowing others 2021-07-08 10:11:00 +02:00
kstdio.h Kernel: Add dbgputch() to kstdio.h 2021-06-24 10:29:09 +02:00
KString.cpp Kernel: Allow passing null pointer to delete 2021-07-14 13:12:25 +02:00
KString.h Kernel: Add formatter function for OwnPtr<KString> 2021-07-07 15:32:17 +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
LockMode.h Kernel: Allow Lock to block from BlockCondition 2021-07-12 11:27:18 +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
Mutex.cpp Kernel: Only include AK/SourceLocation.h if LOCK_DEBUG is enabled 2021-08-01 08:10:16 +02:00
Mutex.h Kernel: Allow MutexLocker to be conditionally initialized 2021-07-20 03:21:14 +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: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
PerformanceEventBuffer.h Kernel: Rename PerformanceEvent methods to be more ARCH independent 2021-07-19 08:46:55 +02:00
PerformanceManager.h Kernel: Rename Range => VirtualRange 2021-08-06 14:05:58 +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: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Process.h Kernel: Make Process's m_promises & m_execpromises fields atomic 2021-08-06 23:36:12 +02:00
ProcessExposed.cpp Kernel: Simplify ProcFS generated buffer caching 2021-07-20 18:05:05 +02:00
ProcessExposed.h Kernel/ProcFS: Make various things superuser-only once again 2021-07-28 18:59:53 +02:00
ProcessGroup.cpp Kernel: Standardize the header include style to 'include <Kernel/...>' 2021-07-11 21:37:38 +02:00
ProcessGroup.h Kernel: Remove unused header includes 2021-08-01 08:10:16 +02:00
ProcessSpecificExposed.cpp Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
Random.cpp Kernel: Rename Locker => MutexLocker 2021-07-18 01:53:04 +02:00
Random.h Kernel: Rename Lock to Mutex 2021-07-17 21:10:32 +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: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
Scheduler.h Kernel: Remove unused Scheduler::yield_from_critical() 2021-07-26 00:39:10 +02:00
Sections.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
SpinLock.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
StdLib.cpp Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace 2021-08-06 14:05:58 +02:00
StdLib.h Everywhere: Fix incorrect usages of AK::Checked 2021-07-04 20:08:28 +01:00
Syscall.cpp Kernel: Rename Process::space() => Process::address_space() 2021-08-06 14:05:58 +02:00
Thread.cpp Kernel: Add convenience values to the Memory::Region::Access enum 2021-08-06 22:25:00 +02:00
Thread.h Kernel: Rename Range => VirtualRange 2021-08-06 14:05:58 +02:00
ThreadBlockers.cpp Kernel: Make AsyncDeviceRequest::name() return StringView 2021-08-06 00:37:47 +02:00
ThreadTracer.cpp Kernel: Remove unused header includes in root kernel tree 2021-07-11 21:37:38 +02:00
ThreadTracer.h Everywhere: Use nothrow new with adopt_{ref,own}_if_nonnull 2021-06-24 17:35:49 +04:30
TimerQueue.cpp Kernel: Do not cancel stale timers when servicing sys$alarm 2021-08-03 18:44:01 +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+LibC: Add linger to sys/sockets.h 2021-07-29 19:35:03 +01: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 Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
WorkQueue.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
WorkQueue.h Kernel: Use plain Function objects for the WorkQueue 2021-05-19 21:36:57 +02:00