Kernel: Ignore MADV_SET_NONVOLATILE if already non-volatile

Just return 0 right away without changing any region flags.
This commit is contained in:
Andreas Kling 2019-12-18 20:48:58 +01:00
parent 487f9b373b
commit 72ec2fae6e
Notes: sideshowbarker 2024-07-19 10:49:12 +09:00

View File

@ -358,6 +358,8 @@ int Process::sys$madvise(void* address, size_t size, int advice)
if (!region->vmobject().is_purgeable())
return -EPERM;
auto& vmobject = static_cast<PurgeableVMObject&>(region->vmobject());
if (!vmobject.is_volatile())
return 0;
vmobject.set_volatile(false);
bool was_purged = vmobject.was_purged();
vmobject.set_was_purged(false);