From nobody Thu Apr 2 15:36:16 2026 Received: from mail-dl1-f73.google.com (mail-dl1-f73.google.com [74.125.82.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F289B3932E4 for ; Fri, 27 Mar 2026 20:55:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774644906; cv=none; b=M8UfNEbGAiS/RzpDnE7J3q3xkBmUc7UsMoVhRNssrUF+FQsoMmDUU+tR8mS86xnQiolhy7FMHGdgm7f2LawE5AlNZZo4HOLgQt0VWYt6M+FygV8ZtgsRbvEBy/lMnKmri2MvNy6AySEhk6Ae2uBwj687OJAkQemFlkP5UMOWzFU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774644906; c=relaxed/simple; bh=sf6ZRopiRtrqEMlCQEVNfp8Vt7nygFqSKsvnUNGcEHI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=kX4u+zzDcpC3Ur9oBQrajmCAG2lKOZTbjycOopEF3lZUxKUxxsMih5l8mAlUihvjuHDMXkJbjHmX1ox/zwGaNs1qiKX8C3u65RTDjxtc9sKg/1ZqDnBG1v2vxnD7n4epQpclssQ1GfPzed8Ndowu/wwRvPzgjOXVG5zojGYeXWg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=BkvU6rb4; arc=none smtp.client-ip=74.125.82.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="BkvU6rb4" Received: by mail-dl1-f73.google.com with SMTP id a92af1059eb24-12711ec96fbso1768250c88.0 for ; Fri, 27 Mar 2026 13:55:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1774644904; x=1775249704; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=wGMSLi6pfWPDruUV3e3+0duVYRVGge54aYv+ZuYilb8=; b=BkvU6rb4BYHmR4p3Wk+QDNO0TBlWxNe1tIlqSbA8NwcwUoHp8crupNLwnd0kc7yxWR UUh1cjLbFYrbZfPI64MPccmpFv0O8NixBRpiyejesyqEc5WFfuCzzmkO9tpSOpRKWYs/ cqdx2b5PuFBULdT3aTK20OHyShX04fM1R2oZHyg8pdi5P+xHd2nG4bhYFD+W0nZam9XS a9+2VoUiEGXyuTOa6Xgw4QG4myUtjsDyDKH7vHbACg9YVySvSWRoJQMXlA7OLqSDednt 4DalXTwS4A/KV5nZ8VCu6N8aimslENrM7w+tsHiEQ+8Cl14tWs6Rhcs4N1DQrZ85WVlV DcXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774644904; x=1775249704; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wGMSLi6pfWPDruUV3e3+0duVYRVGge54aYv+ZuYilb8=; b=Qf7GBt0B5Rl/07Am6DiBDCNRDIcOi8oF2qbLlbA9S5VkY8x/x839XYyiViC8Tndlu1 bNR6Q8ELeF+7CJEo0l2lbZUeW6XYyNMOnlv9Nut+2xZ+v1MhBq9wmydTefcA84SMXXEn lrXTSaY9yNTmAsM6y5c19SolJ/IQnGDeyKLBhMrZYUt12jmtGhrhP4xqtkCeFoJ5Qxhy fHnNJMu38CtU6XR+v4T6cIZectZKtmIfVucFGCbgX+FMtU2Zo7FJprTzey327ZQT7nsk yr0JcNboupl1AWQ2WMwMH3W7DRoB7S8JRSdSA549peaHVCNLQsLMES5EBv6vNSLMBtF4 3noQ== X-Forwarded-Encrypted: i=1; AJvYcCV8uJUo1jkNe02qSne3KW38KcKy+vK04HY9pjAlpZLxFJTHRuG1Bg8f/HDq7CHzd0K1f4/eJ6g+anKAG1M=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5/W2dp/dzBQCYVBcoXCDvnl/vm/jxuouHveIQdLM38MJPGjb2 fVVLA8SD10Yxnnpk5WBJi/L7KsSQT67/4Jf6Tw49pWsAj+7n3NPJs2Am+xDA+oaNZ9SVzmXh8rx PCuowJg== X-Received: from dlbsj11.prod.google.com ([2002:a05:7022:f90b:b0:128:dfaf:10ac]) (user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7022:e982:b0:119:e569:f277 with SMTP id a92af1059eb24-12ab28f2848mr2382854c88.32.1774644903670; Fri, 27 Mar 2026 13:55:03 -0700 (PDT) Date: Fri, 27 Mar 2026 13:54:52 -0700 In-Reply-To: <20260327205457.604224-1-surenb@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260327205457.604224-1-surenb@google.com> X-Mailer: git-send-email 2.53.0.1018.g2bb0e51243-goog Message-ID: <20260327205457.604224-2-surenb@google.com> Subject: [PATCH v6 1/6] mm/vma: cleanup error handling path in vma_expand() From: Suren Baghdasaryan To: akpm@linux-foundation.org Cc: willy@infradead.org, david@kernel.org, ziy@nvidia.com, matthew.brost@intel.com, joshua.hahnjy@gmail.com, rakie.kim@sk.com, byungchul@sk.com, gourry@gourry.net, ying.huang@linux.alibaba.com, apopple@nvidia.com, ljs@kernel.org, baolin.wang@linux.alibaba.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, lance.yang@linux.dev, vbabka@suse.cz, jannh@google.com, rppt@kernel.org, mhocko@suse.com, pfalcato@suse.de, kees@kernel.org, maddy@linux.ibm.com, npiggin@gmail.com, mpe@ellerman.id.au, chleroy@kernel.org, borntraeger@linux.ibm.com, frankja@linux.ibm.com, imbrenda@linux.ibm.com, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, svens@linux.ibm.com, gerald.schaefer@linux.ibm.com, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, surenb@google.com, Lorenzo Stoakes Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" vma_expand() error handling is a bit confusing with "if (ret) return ret;" mixed with "if (!ret && ...) ret =3D ...;". 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. Change variable name for storing the error code from "ret" to "err". No functional change intended. Suggested-by: Jann Horn Signed-off-by: Suren Baghdasaryan Reviewed-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Barry Song --- mm/vma.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/mm/vma.c b/mm/vma.c index a43f3c5d4b3d..ba78ab1f397a 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -1170,7 +1170,7 @@ int vma_expand(struct vma_merge_struct *vmg) vma_flags_t sticky_flags =3D vma_flags_and_mask(&vmg->vma_flags, VMA_STICKY_FLAGS); vma_flags_t target_sticky; - int ret =3D 0; + int err =3D 0; =20 mmap_assert_write_locked(vmg->mm); vma_start_write(target); @@ -1200,12 +1200,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) - ret =3D dup_anon_vma(target, next, &anon_dup); - if (!ret && vmg->copied_from) - ret =3D dup_anon_vma(target, vmg->copied_from, &anon_dup); - if (ret) - return ret; + if (remove_next) { + err =3D dup_anon_vma(target, next, &anon_dup); + if (err) + return err; + } + if (vmg->copied_from) { + err =3D dup_anon_vma(target, vmg->copied_from, &anon_dup); + if (err) + return err; + } =20 if (remove_next) { vma_flags_t next_sticky; --=20 2.53.0.1018.g2bb0e51243-goog