summaryrefslogtreecommitdiff
path: root/Kernel/Process.h
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-02-14 00:53:53 +0100
committerAndreas Kling <kling@serenityos.org>2021-02-14 01:33:17 +0100
commit1593219a41bdb9d8efa62abf5fca462b38563878 (patch)
tree525480f794cafe5ae7bcd8b5213da6c91480d18a /Kernel/Process.h
parent3551198f991908ebb07f71f460d8f61788551183 (diff)
downloadserenity-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.h5
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 };