]> Pileus Git - ~andy/linux/blobdiff - mm/madvise.c
ip6mr: fix rtm_family of rtnl msg
[~andy/linux] / mm / madvise.c
index 14d260fa0d17939a2279c244df91789cd30720e4..03dfa5c7adb3c41acdf672b6504516073866c996 100644 (file)
@@ -69,10 +69,14 @@ static long madvise_behavior(struct vm_area_struct * vma,
                new_flags &= ~VM_DONTCOPY;
                break;
        case MADV_DONTDUMP:
-               new_flags |= VM_NODUMP;
+               new_flags |= VM_DONTDUMP;
                break;
        case MADV_DODUMP:
-               new_flags &= ~VM_NODUMP;
+               if (new_flags & VM_SPECIAL) {
+                       error = -EINVAL;
+                       goto out;
+               }
+               new_flags &= ~VM_DONTDUMP;
                break;
        case MADV_MERGEABLE:
        case MADV_UNMERGEABLE: