diff options
author | Andreas Kling <kling@serenityos.org> | 2021-02-14 00:53:53 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-02-14 01:33:17 +0100 |
commit | 1593219a41bdb9d8efa62abf5fca462b38563878 (patch) | |
tree | 525480f794cafe5ae7bcd8b5213da6c91480d18a /Kernel/Process.h | |
parent | 3551198f991908ebb07f71f460d8f61788551183 (diff) | |
download | serenity-1593219a41bdb9d8efa62abf5fca462b38563878.zip |
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.
Diffstat (limited to 'Kernel/Process.h')
-rw-r--r-- | Kernel/Process.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Kernel/Process.h b/Kernel/Process.h index 5a0485265d..06339be322 100644 --- a/Kernel/Process.h +++ b/Kernel/Process.h @@ -57,8 +57,6 @@ namespace Kernel { timeval kgettimeofday(); void kgettimeofday(timeval&); -extern VirtualAddress g_return_to_ring3_from_signal_trampoline; - #define ENUMERATE_PLEDGE_PROMISES \ __ENUMERATE_PLEDGE_PROMISE(stdio) \ __ENUMERATE_PLEDGE_PROMISE(rpath) \ @@ -458,6 +456,8 @@ public: Space& space() { return *m_space; } const Space& space() const { return *m_space; } + VirtualAddress signal_trampoline() const { return m_signal_trampoline; } + private: friend class MemoryManager; friend class Scheduler; @@ -507,6 +507,7 @@ private: String m_name; OwnPtr<Space> m_space; + VirtualAddress m_signal_trampoline; ProcessID m_pid { 0 }; SessionID m_sid { 0 }; |