Parcourir la source

Kernel: Ignore MADV_SET_NONVOLATILE if already non-volatile

Just return 0 right away without changing any region flags.
Andreas Kling il y a 5 ans
Parent
commit
72ec2fae6e
1 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 2 0
      Kernel/Process.cpp

+ 2 - 0
Kernel/Process.cpp

@@ -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);