Messages in this thread Patch in this message | | | From | Wupeng Ma <> | Subject | [PATCH v4 4/4] mm/msync: return ENOMEM if len overflows for msync | Date | Mon, 20 Mar 2023 10:47:39 +0800 |
| |
From: Ma Wupeng <mawupeng1@huawei.com>
Return -ENOMEM if len overflows for msync.
Signed-off-by: Ma Wupeng <mawupeng1@huawei.com> --- mm/msync.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/msync.c b/mm/msync.c index ac4c9bfea2e7..8ac227ec38af 100644 --- a/mm/msync.c +++ b/mm/msync.c @@ -36,6 +36,7 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags) struct vm_area_struct *vma; int unmapped_error = 0; int error = -EINVAL; + size_t old_len = len; start = untagged_addr(start); @@ -48,7 +49,7 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags) error = -ENOMEM; len = (len + ~PAGE_MASK) & PAGE_MASK; end = start + len; - if (end < start) + if (end < start || (old_len != 0 && len == 0)) goto out; error = 0; if (end == start) -- 2.25.1
| |