uprobes: __replace_page() avoid BUG in munlock_vma_page()
[linux-2.6-microblaze.git] / kernel / events / uprobes.c
index 649fd53..0e18aaf 100644 (file)
@@ -205,7 +205,7 @@ static int __replace_page(struct vm_area_struct *vma, unsigned long addr,
                try_to_free_swap(old_page);
        page_vma_mapped_walk_done(&pvmw);
 
-       if (vma->vm_flags & VM_LOCKED)
+       if ((vma->vm_flags & VM_LOCKED) && !PageCompound(old_page))
                munlock_vma_page(old_page);
        put_page(old_page);