* Suren Baghdasaryan <[email protected]> [260217 11:33]:
> vma_expand() error handling is a bit confusing with "if (ret) return ret;"
> mixed with "if (!ret && ...) ret = ...;". Simplify the code to check
> for errors and return immediately after an operation that might fail.
> This also makes later changes to this function more readable.
> 
> No functional change intended.
> 
> Suggested-by: Jann Horn <[email protected]>
> Signed-off-by: Suren Baghdasaryan <[email protected]>

Reviewed-by: Liam R. Howlett <[email protected]>

> ---
>  mm/vma.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/mm/vma.c b/mm/vma.c
> index be64f781a3aa..bb4d0326fecb 100644
> --- a/mm/vma.c
> +++ b/mm/vma.c
> @@ -1186,12 +1186,16 @@ int vma_expand(struct vma_merge_struct *vmg)
>        * Note that, by convention, callers ignore OOM for this case, so
>        * we don't need to account for vmg->give_up_on_mm here.
>        */
> -     if (remove_next)
> +     if (remove_next) {
>               ret = dup_anon_vma(target, next, &anon_dup);
> -     if (!ret && vmg->copied_from)
> +             if (ret)
> +                     return ret;
> +     }
> +     if (vmg->copied_from) {
>               ret = dup_anon_vma(target, vmg->copied_from, &anon_dup);
> -     if (ret)
> -             return ret;
> +             if (ret)
> +                     return ret;
> +     }
>  
>       if (remove_next) {
>               vma_start_write(next);
> -- 
> 2.53.0.273.g2a3d683680-goog
> 

Reply via email to