ksm: fix mlockfreed to munlocked
[pandora-kernel.git] / mm / ksm.c
index 7487856..af5f571 100644 (file)
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -34,6 +34,7 @@
 #include <linux/ksm.h>
 
 #include <asm/tlbflush.h>
+#include "internal.h"
 
 /*
  * A few notes about the KSM scanning process,
@@ -762,6 +763,9 @@ static int try_to_merge_one_page(struct vm_area_struct *vma,
            pages_identical(page, kpage))
                err = replace_page(vma, page, kpage, orig_pte);
 
+       if ((vma->vm_flags & VM_LOCKED) && !err)
+               munlock_vma_page(page);
+
        unlock_page(page);
 out:
        return err;