summaryrefslogtreecommitdiffstats
path: root/mm/madvise.c
diff options
context:
space:
mode:
authorZhangPeng <zhangpeng362@huawei.com>2023-04-04 17:45:15 +0800
committerAndrew Morton <akpm@linux-foundation.org>2023-04-18 16:29:52 -0700
commit92d5df38ca91f138d4964d71a6835add95f99e59 (patch)
tree5403576ffdab2b81fb5cffa026969abac8ac6b99 /mm/madvise.c
parent6b0ba2abbeede5e1756d54277e811cf2783eb0a8 (diff)
downloadlinux-92d5df38ca91f138d4964d71a6835add95f99e59.tar.gz
linux-92d5df38ca91f138d4964d71a6835add95f99e59.tar.bz2
linux-92d5df38ca91f138d4964d71a6835add95f99e59.zip
mm/madvise: use vma_lookup() instead of find_vma()
Using vma_lookup() verifies the address is contained in the found vma. This results in easier to read the code. Link: https://lkml.kernel.org/r/20230404094515.1883552-1-zhangpeng362@huawei.com Signed-off-by: ZhangPeng <zhangpeng362@huawei.com> Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/madvise.c')
-rw-r--r--mm/madvise.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/mm/madvise.c b/mm/madvise.c
index 340125d08c03..405a2c4a0a18 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -852,21 +852,9 @@ static long madvise_dontneed_free(struct vm_area_struct *vma,
*prev = NULL; /* mmap_lock has been dropped, prev is stale */
mmap_read_lock(mm);
- vma = find_vma(mm, start);
+ vma = vma_lookup(mm, start);
if (!vma)
return -ENOMEM;
- if (start < vma->vm_start) {
- /*
- * This "vma" under revalidation is the one
- * with the lowest vma->vm_start where start
- * is also < vma->vm_end. If start <
- * vma->vm_start it means an hole materialized
- * in the user address space within the
- * virtual range passed to MADV_DONTNEED
- * or MADV_FREE.
- */
- return -ENOMEM;
- }
/*
* Potential end adjustment for hugetlb vma is OK as
* the check below keeps end within vma.