summaryrefslogtreecommitdiff
path: root/Kernel/Arch
diff options
context:
space:
mode:
authorIdan Horowitz <idan.horowitz@gmail.com>2021-11-30 00:27:28 +0200
committerIdan Horowitz <idan.horowitz@gmail.com>2021-12-01 21:44:11 +0200
commita9e436c4a3bc30e34212ec2ee6b52c76443f341d (patch)
treec4a56eca18593afc5c1ac5ceba7a681bd9dbbb8c /Kernel/Arch
parent4ca39c71104084be36b672fbe10952ba88326fba (diff)
downloadserenity-a9e436c4a3bc30e34212ec2ee6b52c76443f341d.zip
Kernel: Replace usages of SIGSTKFLT with SIGSEGV
SIGSTKFLT is a signal that signifies a stack fault in a x87 coprocessor, this signal is not POSIX and also unused by Linux and the BSDs, so let's use SIGSEGV so programs that setup signal handlers for the common signals could still handle them in serenity.
Diffstat (limited to 'Kernel/Arch')
-rw-r--r--Kernel/Arch/x86/common/Interrupts.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Kernel/Arch/x86/common/Interrupts.cpp b/Kernel/Arch/x86/common/Interrupts.cpp
index d355354ec4..0c2650ed9b 100644
--- a/Kernel/Arch/x86/common/Interrupts.cpp
+++ b/Kernel/Arch/x86/common/Interrupts.cpp
@@ -316,7 +316,7 @@ void page_fault_handler(TrapFrame* trap)
VirtualAddress userspace_sp = VirtualAddress { regs.userspace_sp() };
if (!faulted_in_kernel && !MM.validate_user_stack(current_thread->process().address_space(), userspace_sp)) {
dbgln("Invalid stack pointer: {}", userspace_sp);
- handle_crash(regs, "Bad stack on page fault", SIGSTKFLT);
+ handle_crash(regs, "Bad stack on page fault", SIGSEGV);
}
if (fault_address >= (FlatPtr)&start_of_ro_after_init && fault_address < (FlatPtr)&end_of_ro_after_init) {