diff options
Diffstat (limited to 'mm/madvise.c')
-rw-r--r-- | mm/madvise.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/madvise.c b/mm/madvise.c index 7f1490f0d3a6..b530a4986035 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -25,6 +25,8 @@ #include <asm/tlb.h> +#include "internal.h" + /* * Any behaviour which results in changes to the vma->vm_flags needs to * take mmap_sem for writing. Others, which simply traverse vmas, need @@ -474,7 +476,7 @@ static long madvise_dontneed(struct vm_area_struct *vma, unsigned long start, unsigned long end) { *prev = vma; - if (vma->vm_flags & (VM_LOCKED|VM_HUGETLB|VM_PFNMAP)) + if (!can_madv_dontneed_vma(vma)) return -EINVAL; madvise_userfault_dontneed(vma, prev, start, end); |