Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
[firefly-linux-kernel-4.4.55.git] / 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: