summaryrefslogtreecommitdiff
path: root/mm/madvise.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2025-03-04 11:19:21 +0100
committerIngo Molnar <mingo@kernel.org>2025-03-04 11:19:21 +0100
commitcfdaa618defc5ebe1ee6aa5bd40a7ccedffca6de (patch)
treefba004535821850f0d10cc4deac3885545083f0c /mm/madvise.c
parentad546940b5991d3e141238cd80a6d1894b767184 (diff)
parent4f2a0b765c9731d2fa94e209ee9ae0e96b280f17 (diff)
Merge branch 'x86/cpu' into x86/asm, to pick up dependent commits
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'mm/madvise.c')
-rw-r--r--mm/madvise.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mm/madvise.c b/mm/madvise.c
index 49f3a75046f6..08b207f8e61e 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -933,7 +933,16 @@ static long madvise_dontneed_free(struct vm_area_struct *vma,
*/
end = vma->vm_end;
}
- VM_WARN_ON(start >= end);
+ /*
+ * If the memory region between start and end was
+ * originally backed by 4kB pages and then remapped to
+ * be backed by hugepages while mmap_lock was dropped,
+ * the adjustment for hugetlb vma above may have rounded
+ * end down to the start address.
+ */
+ if (start == end)
+ return 0;
+ VM_WARN_ON(start > end);
}
if (behavior == MADV_DONTNEED || behavior == MADV_DONTNEED_LOCKED)