* 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 >
