From 171868e4f752f5671e0c87d0208b42180023bb8d Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 1 Sep 2020 17:42:30 +0200 Subject: [PATCH] Kernel: Preserve internal state in cloned PurgeableVMObjects When cloning a purgeable memory region (which happens on fork), we need to preserve the "was purged" and "volatile" state of the original region, or they will always appear as non-volatile and unpurged regions in the child process. Fixes #3374. --- Kernel/VM/PurgeableVMObject.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Kernel/VM/PurgeableVMObject.cpp b/Kernel/VM/PurgeableVMObject.cpp index 8c5c5995d2..c646af4de0 100644 --- a/Kernel/VM/PurgeableVMObject.cpp +++ b/Kernel/VM/PurgeableVMObject.cpp @@ -42,6 +42,8 @@ PurgeableVMObject::PurgeableVMObject(size_t size) PurgeableVMObject::PurgeableVMObject(const PurgeableVMObject& other) : AnonymousVMObject(other) + , m_was_purged(other.m_was_purged) + , m_volatile(other.m_volatile) { }