mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 16:38:10 +00:00
Kernel: Remap all regions referring to a PurgeableVMObject on purge
Otherwise we won't get page faults next time you try to access the purged memory.
This commit is contained in:
parent
92b46d9814
commit
a22b7f96fc
1 changed files with 7 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
|||
#include <Kernel/VM/PurgeableVMObject.h>
|
||||
#include <Kernel/VM/MemoryManager.h>
|
||||
#include <Kernel/VM/PhysicalPage.h>
|
||||
#include <Kernel/VM/PurgeableVMObject.h>
|
||||
|
||||
NonnullRefPtr<PurgeableVMObject> PurgeableVMObject::create_with_size(size_t size)
|
||||
{
|
||||
|
@ -37,5 +38,10 @@ int PurgeableVMObject::purge()
|
|||
m_physical_pages[i] = nullptr;
|
||||
}
|
||||
m_was_purged = true;
|
||||
|
||||
for_each_region([&](auto& region) {
|
||||
region.remap();
|
||||
});
|
||||
|
||||
return purged_page_count;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue