1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-24 12:12:33 +00:00
serenity/Kernel/Arch/x86
Liav A 60b088b89a Kernel: Send SIGBUS to threads that use after valid Inode mmaped range
According to Dr. POSIX, we should allow to call mmap on inodes even on
ranges that currently don't map to any actual data. Trying to read or
write to those ranges should result in SIGBUS being sent to the thread
that did violating memory access.

To implement this restriction, we simply check if the result of
read_bytes on an Inode returns 0, which means we have nothing valid to
map to the program, hence it should receive a SIGBUS in that case.
2022-09-26 20:00:34 +03:00
..
common Kernel: Send SIGBUS to threads that use after valid Inode mmaped range 2022-09-26 20:00:34 +03:00
Hypervisor Kernel/Graphics: Introduce support for QEMU isa-vga device 2022-09-20 19:05:13 +01:00
i386 Kernel: Add 8-byte atomics for i686 GCC 2022-08-19 19:49:38 +03:00
ISABus Kernel: Introduce the IOWindow class 2022-09-23 17:22:15 +01:00
PCI Kernel: Introduce the IOWindow class 2022-09-23 17:22:15 +01:00
Time Kernel: Move x86-specific timer code handling to Arch/x86/Time directory 2022-09-23 17:22:15 +01:00
VGA Kernel/Graphics: Move x86-specific support for VGA to Arch/x86 directory 2022-09-23 17:22:15 +01:00
x86_64 Kernel: Set CS selector when initializing thread context on x86_64 2022-02-27 00:38:00 +02:00
ASM_wrapper.h Kernel: Add helpers for rdrand and rdseed 2022-03-21 23:33:42 +01:00
CPU.h Kernel: Make handle_crash available to aarch64 2022-04-02 19:34:20 -07:00
CPUID.h Kernel: Rename OSPKU CPUID feature flag to OSPKE 2022-04-08 18:53:42 +01:00
DescriptorTable.h Kernel: Use enum instead of magic numbers for GDT descriptor types 2022-01-04 19:08:07 +02:00
init.cpp Kernel: Move x86-specific init sequence code to the x86/Arch directory 2022-09-20 18:43:05 +01:00
InterruptManagement.h Kernel: Stop using 'int's for indices in interrupt handling 2022-09-25 16:52:56 +03:00
Interrupts.h Kernel: Rename idt_init() to initialize_interrupts() 2022-06-02 13:14:12 +01:00
IO.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
IRQController.h AK+Kernel: Add AK::AtomicRefCounted and use everywhere in the kernel 2022-08-20 17:15:52 +02:00
ISRStubs.h Kernel/Interrupts: Initialize two spurious handlers when PIC is disabled 2022-01-30 21:07:20 +02:00
linker.ld Kernel+Userland: Remove supervisor pages concept 2022-07-14 23:27:46 +02:00
mcontext.h Kernel: Do not include AK/Platform.h in mcontext headers 2022-05-30 21:39:41 +02:00
MSR.h Kernel: Add an x86 include check+error in x86/MSR.h 2021-12-01 11:22:04 -08:00
NonMaskableInterruptDisabler.h Kernel: Separate NonMaskableInterruptDisabler into its own file 2022-06-02 13:14:12 +01:00
Processor.h Kernel/x86: Move Processor::{leave,clear}_critical() out of line 2022-08-18 00:58:34 +02:00
ProcessorInfo.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
RegisterState.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SIMDState.h Kernel: Implement AVX XSAVE support 2022-05-15 12:25:23 +02:00
TrapFrame.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TSS.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00