From: Ma Wupeng <mawupeng1@xxxxxxxxxx> Return -EINVAL if len overflows for set_mempolicy_home_node. Signed-off-by: Ma Wupeng <mawupeng1@xxxxxxxxxx> --- mm/mempolicy.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index a256a241fd1d..3a68998adc3a 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1489,6 +1489,7 @@ SYSCALL_DEFINE4(set_mempolicy_home_node, unsigned long, start, unsigned long, le unsigned long, home_node, unsigned long, flags) { struct mm_struct *mm = current->mm; + unsigned long old_len = len; struct vm_area_struct *vma; struct mempolicy *new, *old; unsigned long vmstart; @@ -1516,7 +1517,7 @@ SYSCALL_DEFINE4(set_mempolicy_home_node, unsigned long, start, unsigned long, le len = PAGE_ALIGN(len); end = start + len; - if (end < start) + if (end < start || (old_len != 0 && len == 0)) return -EINVAL; if (end == start) return 0; -- 2.25.1