ladybird/Kernel
Andreas Kling 3ff88a1d77 Kernel: Assert on attempt to map private region backed by shared inode
If we find ourselves with a user-accessible, non-shared Region backed by
a SharedInodeVMObject, that's pretty bad news, so let's just panic the
kernel instead of getting abused.

There might be a better place for this kind of check, so I've added a
FIXME about putting more thought into that.
2021-01-26 18:35:10 +01:00
..
ACPI Kernel: Fix crash when booting with ACPI. 2021-01-25 13:00:49 +01:00
API Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
Arch Kernel: Fix possible context switch within first context switch of a thread 2021-01-25 23:22:12 +01:00
Devices Kernel: Hoist VM range allocation up to sys$mmap() itself 2021-01-25 18:57:06 +01:00
FileSystem Kernel: Hoist VM range allocation up to sys$mmap() itself 2021-01-25 18:57:06 +01:00
Heap Everywhere: Hook up remaining debug macros to Debug.h. 2021-01-25 09:47:36 +01:00
Interrupts Everywhere: Hook up remaining debug macros to Debug.h. 2021-01-25 09:47:36 +01:00
Modules Kernel: Module symbol declarations for type-checking 2020-08-12 20:40:59 +02:00
Net Everywhere: Hook up remaining debug macros to Debug.h. 2021-01-25 09:47:36 +01:00
PCI Everywhere: Debug macros instead of constexpr. 2021-01-25 09:47:36 +01:00
Storage Everywhere: Hook up remaining debug macros to Debug.h. 2021-01-25 09:47:36 +01:00
Syscalls Kernel: Don't drop pledge()'d promises/execpromises when passing nullptr 2021-01-26 18:18:01 +01:00
Tasks AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Time Everywhere: Debug macros instead of constexpr. 2021-01-25 09:47:36 +01:00
TTY Everywhere: Debug macros instead of constexpr. 2021-01-25 09:47:36 +01:00
VM Kernel: Assert on attempt to map private region backed by shared inode 2021-01-26 18:35:10 +01:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
CMakeLists.txt Kernel: Implement RamdiskDevice 2021-01-22 22:17:39 +01:00
CMOS.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
CommandLine.h Kernel: Copy command line to a safe place 2020-08-25 09:48:48 +02:00
Console.cpp Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
Console.h Kernel: Make device generate their own names 2021-01-22 22:17:39 +01:00
CoreDump.cpp Kernel: Create core dumps with S_IFREG set (regular file) 2021-01-23 17:59:42 +01:00
CoreDump.h Kernel: Embed a Metadata notes entry in coredumps 2020-12-30 16:28:27 +01:00
DoubleBuffer.cpp Kernel: Merge PurgeableVMObject into AnonymousVMObject 2021-01-01 23:43:44 +01:00
DoubleBuffer.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
Forward.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
FutexQueue.cpp Everywhere: Debug macros instead of constexpr. 2021-01-25 09:47:36 +01:00
FutexQueue.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
init.cpp Kernel: Allow "serial_debug" everywhere on the command line 2021-01-23 16:53:03 +01:00
IO.h Kernel: Convert a bunch of String::format() => String::formatted() 2021-01-11 22:07:01 +01:00
KBuffer.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
KBufferBuilder.cpp Kernel: Improve ProcFS behavior in low memory conditions 2021-01-03 22:12:19 +01:00
KBufferBuilder.h Kernel: Improve ProcFS behavior in low memory conditions 2021-01-03 22:12:19 +01:00
kprintf.cpp Everywhere: Replace a bundle of dbg with dbgln. 2021-01-09 21:11:09 +01:00
KResult.h Everywhere: Replace a bundle of dbg with dbgln. 2021-01-22 22:14:30 +01:00
kstdio.h LibC: Enable compiler warnings for printf format strings 2020-12-26 10:05:50 +01:00
KSyms.cpp Kernel: Do not assert if unable to load kernel symbols 2021-01-22 22:17:39 +01:00
KSyms.h Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
linker.ld Kernel: Move kmalloc heaps and super pages inside .bss segment 2021-01-22 22:17:39 +01:00
Lock.cpp Kernel: Fix some race conditions with Lock and waiting/waking threads 2021-01-25 22:54:55 +01:00
Lock.h Everywhere: Use CMake to generate AK/Debug.h. 2021-01-25 09:47:36 +01:00
LockMode.h Kernel: Fix Lock race causing infinite spinning between two threads 2020-12-16 23:38:17 +01:00
mkmap.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Multiboot.h Kernel: Parse boot modules from Multiboot specification 2021-01-22 22:17:39 +01:00
PerformanceEventBuffer.cpp Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
PerformanceEventBuffer.h Kernel: Prune uninteresting kernel frames from profiling samples 2021-01-17 14:36:53 +01:00
PhysicalAddress.h Everywhere: Replace a bundle of dbg with dbgln. 2021-01-09 21:11:09 +01:00
Process.cpp Kernel: sys$munmap() region splitting did not preserve "shared" flag 2021-01-26 18:35:04 +01:00
Process.h Kernel: Update process promise states on execve() and fork() 2021-01-26 15:26:37 +01:00
ProcessGroup.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
ProcessGroup.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
Ptrace.cpp Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
Ptrace.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
Random.cpp Kernel: Make use of interrupts as an entropy source 2021-01-24 22:16:18 +01:00
Random.h Kernel: Make use of interrupts as an entropy source 2021-01-24 22:16:18 +01:00
RTC.cpp Kernel: Minor tweak to now() computation 2020-08-26 08:52:07 +02:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Scheduler.cpp Everywhere: Debug macros instead of constexpr. 2021-01-25 09:47:36 +01:00
Scheduler.h Kernel: Fix some issues related to fixes and block conditions 2020-12-12 21:28:12 +01:00
SpinLock.h Kernel: Tag more methods and types as [[nodiscard]] 2020-12-27 11:09:30 +01:00
StdLib.cpp Kernel: Add safe atomic functions 2021-01-17 20:30:31 +01:00
StdLib.h Kernel: Add safe atomic functions 2021-01-17 20:30:31 +01:00
Syscall.cpp Kernel: Don't allow modifying IOPL via sys$ptrace() or sys$sigreturn() 2020-12-22 19:38:25 +01:00
Thread.cpp Kernel: Remove allocate_region() functions that don't take a Range 2021-01-26 14:13:57 +01:00
Thread.h Everywhere: Use CMake to generate AK/Debug.h. 2021-01-25 09:47:36 +01:00
ThreadBlockers.cpp Everywhere: Debug macros instead of constexpr. 2021-01-25 09:47:36 +01:00
ThreadTracer.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
ThreadTracer.h Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
TimerQueue.cpp Kernel: Improve time keeping and dramatically reduce interrupt load 2020-12-21 18:26:12 +01:00
TimerQueue.h Kernel: Specify default memory order for some non-synchronizing Atomics 2021-01-04 19:13:52 +01:00
UnixTypes.h Kernel+LibC: Add _SC_TTY_NAME_MAX 2021-01-18 22:28:56 +01:00
UnveilNode.h Kernel: Allow 'elevating' unveil permissions if implicitly inherited from '/' 2020-12-26 16:10:04 +01:00
UserOrKernelBuffer.cpp AK: Add StringBuilder::appendff using the new format. 2020-09-22 15:06:40 +02:00
UserOrKernelBuffer.h FileSystem: Use OutputMemoryStream instead of BufferStream. 2020-09-15 20:36:45 +02:00
VirtualAddress.h AK: Add Formatter<FormatString> as helper class. 2021-01-09 21:11:09 +01:00
WaitQueue.cpp Kernel: Fix some race conditions with Lock and waiting/waking threads 2021-01-25 22:54:55 +01:00
WaitQueue.h Kernel: Fix some race conditions with Lock and waiting/waking threads 2021-01-25 22:54:55 +01:00