]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - mm/mprotect.c
[PATCH] mm: unlink_file_vma, remove_vma
[linux-2.6-omap-h63xx.git] / mm / mprotect.c
index e9fbd013ad9afa26804bc89f9b42cf335f2ac167..b426f01c5e9cdb0329657076d8a2e8908e3e015a 100644 (file)
@@ -168,8 +168,8 @@ success:
        vma->vm_flags = newflags;
        vma->vm_page_prot = newprot;
        change_protection(vma, start, end, newprot);
-       __vm_stat_account(mm, oldflags, vma->vm_file, -nrpages);
-       __vm_stat_account(mm, newflags, vma->vm_file, nrpages);
+       vm_stat_account(mm, oldflags, vma->vm_file, -nrpages);
+       vm_stat_account(mm, newflags, vma->vm_file, nrpages);
        return 0;
 
 fail:
@@ -248,7 +248,8 @@ sys_mprotect(unsigned long start, size_t len, unsigned long prot)
 
                newflags = vm_flags | (vma->vm_flags & ~(VM_READ | VM_WRITE | VM_EXEC));
 
-               if ((newflags & ~(newflags >> 4)) & 0xf) {
+               /* newflags >> 4 shift VM_MAY% in place of VM_% */
+               if ((newflags & ~(newflags >> 4)) & (VM_READ | VM_WRITE | VM_EXEC)) {
                        error = -EACCES;
                        goto out;
                }