Re: [PATCH] mm: remove duplicated vma->vm_flags check when expanding stack

From: Xiu Jianfeng
Date: Sun Sep 10 2023 - 22:07:19 EST


Hi,

On 2023/9/11 5:26, Andrew Morton wrote:
> On Wed, 6 Sep 2023 10:33:12 +0000 Xiu Jianfeng <xiujianfeng@xxxxxxxxxxxxxxx> wrote:
>
>> expand_upwards() and expand_downwards() will return -EFAULT if VM_GROWSUP
>> or VM_GROWSDOWN is not correctly set in vma->vm_flags, however in
>> !CONFIG_STACK_GROWSUP case, expand_stack_locked() returns -EINVAL first
>> if !(vma->vm_flags & VM_GROWSDOWN) before calling expand_downwards(), to
>> keep the consistency with CONFIG_STACK_GROWSUP case, remove this check.
>
> What are the user-visible effects of this change?
>
> Do you believe this fix should be backported into earlier kernel versions?

The usages of this function are as bellow:

A:fs/exec.c
ret = expand_stack_locked(vma, stack_base);
if (ret)
ret = -EFAULT;

or

B:mm/memory.c mm/mmap.c
if (expand_stack_locked(vma, addr))
return NULL;

which means the return value will not propagate to other places, so I
believe there is no user-visible effects of this change, and it's
unnecessary to backport to earlier versions.