mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 20:52:45 +00:00 
			
		
		
		
	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.
This commit is contained in:
		
							parent
							
								
									4ca39c7110
								
							
						
					
					
						commit
						a9e436c4a3
					
				
					 2 changed files with 2 additions and 2 deletions
				
			
		|  | @ -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) { | ||||
|  |  | |||
|  | @ -654,7 +654,7 @@ void MemoryManager::validate_syscall_preconditions(AddressSpace& space, Register | |||
|         VirtualAddress userspace_sp = VirtualAddress { regs.userspace_sp() }; | ||||
|         if (!MM.validate_user_stack_no_lock(space, userspace_sp)) { | ||||
|             dbgln("Invalid stack pointer: {}", userspace_sp); | ||||
|             unlock_and_handle_crash("Bad stack on syscall entry", SIGSTKFLT); | ||||
|             unlock_and_handle_crash("Bad stack on syscall entry", SIGSEGV); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Idan Horowitz
						Idan Horowitz