diff options
author | Andreas Kling <awesomekling@gmail.com> | 2018-11-09 01:25:31 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2018-11-09 01:25:31 +0100 |
commit | e71cb1c56bc21c2897734a57e8d15c76ec63e038 (patch) | |
tree | 3e2e9de1d5dd4eb8264ea76130a4e2a9dad737b2 /Kernel/MemoryManager.h | |
parent | 7b96218389ce2e69161b2a561d4f606088ff3d65 (diff) | |
download | serenity-e71cb1c56bc21c2897734a57e8d15c76ec63e038.zip |
Fix some paging related bugs exposed by the spawn stress test.
- Process::exec() needs to restore the original paging scope when called
on a non-current process.
- Add missing InterruptDisabler guards around g_processes access.
- Only flush the TLB when modifying the active page tables.
Diffstat (limited to 'Kernel/MemoryManager.h')
-rw-r--r-- | Kernel/MemoryManager.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Kernel/MemoryManager.h b/Kernel/MemoryManager.h index 6c4b19f7be..6ec6c5f95c 100644 --- a/Kernel/MemoryManager.h +++ b/Kernel/MemoryManager.h @@ -55,6 +55,8 @@ private: struct PageDirectory { dword entries[1024]; RetainPtr<PhysicalPage> physical_pages[1024]; + + bool is_active() const; }; class VMObject : public Retainable<VMObject> { |