aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mremap.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2025-09-21 14:19:36 -0700
committerAndrew Morton <akpm@linux-foundation.org>2025-09-21 14:19:36 -0700
commitbc9950b56f16e9cc53879118bfddcc175355a75a (patch)
tree484cc703bc50a82af45288fffdf92c8a03debf27 /mm/mremap.c
parentmaple_tree: testing fix for spanning store on 32b (diff)
parentzram: fix slot write race condition (diff)
downloadlinux-bc9950b56f16e9cc53879118bfddcc175355a75a.tar.gz
linux-bc9950b56f16e9cc53879118bfddcc175355a75a.zip
Merge branch 'mm-hotfixes-stable' into mm-stable in order to pick up
changes required by mm-stable material: hugetlb and damon.
Diffstat (limited to 'mm/mremap.c')
-rw-r--r--mm/mremap.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/mm/mremap.c b/mm/mremap.c
index e618a706aff5..35de0a7b910e 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -1774,15 +1774,18 @@ static unsigned long check_mremap_params(struct vma_remap_struct *vrm)
if (!vrm->new_len)
return -EINVAL;
- /* Is the new length or address silly? */
- if (vrm->new_len > TASK_SIZE ||
- vrm->new_addr > TASK_SIZE - vrm->new_len)
+ /* Is the new length silly? */
+ if (vrm->new_len > TASK_SIZE)
return -EINVAL;
/* Remainder of checks are for cases with specific new_addr. */
if (!vrm_implies_new_addr(vrm))
return 0;
+ /* Is the new address silly? */
+ if (vrm->new_addr > TASK_SIZE - vrm->new_len)
+ return -EINVAL;
+
/* The new address must be page-aligned. */
if (offset_in_page(vrm->new_addr))
return -EINVAL;