mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:48:10 +00:00
Kernel: Map signal trampoline into each process's address space
The signal trampoline was previously in kernelspace memory, but with a special exception to make it user-accessible. This patch moves it into each process's regular address space so we can stop supporting user-allowed memory above 0xc0000000.
This commit is contained in:
parent
3551198f99
commit
1593219a41
4 changed files with 30 additions and 17 deletions
|
@ -834,7 +834,7 @@ DispatchSignalResult Thread::dispatch_signal(u8 signal)
|
|||
// valid (fork, exec etc) but the tss will, so we use that instead.
|
||||
auto& regs = get_register_dump_from_stack();
|
||||
setup_stack(regs);
|
||||
regs.eip = g_return_to_ring3_from_signal_trampoline.get();
|
||||
regs.eip = process.signal_trampoline().get();
|
||||
|
||||
#if SIGNAL_DEBUG
|
||||
dbgln("signal: Thread in state '{}' has been primed with signal handler {:04x}:{:08x} to deliver {}", state_string(), m_tss.cs, m_tss.eip, signal);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue