mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 06:47:34 +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
|
@ -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 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue