mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-12 02:30:30 +09: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
Notes:
sideshowbarker
2024-07-18 22:20:51 +09:00
Author: https://github.com/awesomekling
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