On Thu, Feb 26, 2026 at 8:43 AM Liam R. Howlett <[email protected]> wrote: > > * Suren Baghdasaryan <[email protected]> [260226 02:06]: > > 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]> > > This looks the same as v2, so I'll try again ;)
Sorry, missed adding it. So again, thank you very much! > > 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.414.gf7e9f6c205-goog > > > > >
