From nobody Fri Apr 3 00:12:23 2026 Received: from mail-dy1-f202.google.com (mail-dy1-f202.google.com [74.125.82.202]) (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 A7C9F34D3A5 for ; Thu, 26 Mar 2026 08:08:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774512525; cv=none; b=DjcnXHgIUJ7ApyzwA2faOYR5SrBHaw1IuxXop4OryHfw+9d/boUGxHh9e5iOvC6RB+KrunX7vjQupUqTVEHOTB1I+sXp/aQOvlJDt4SmEECYaq7SCfAisP9RnRpDIOJ2puVnHSe4lOMVS8bLEelLTKMDw381qr+sOR1hNyN27vg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774512525; c=relaxed/simple; bh=sf6ZRopiRtrqEMlCQEVNfp8Vt7nygFqSKsvnUNGcEHI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=GFb4SjuxAFVpdxnlgk9BiiZdzPdNRiyCmcSVvmOYdbcdoOItb+P4OM/dChihT/1linVvtORZ0D64CgBtQ/bd1is9GGvUCFe6l/CkdkUpwRoYN5Q+z72a2FSJKcopSrSlclv0d0sF+3pKeIi/rlaaHipdWOnMRWxC/qqkLT0fYDA= 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=LUvHAW7L; arc=none smtp.client-ip=74.125.82.202 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="LUvHAW7L" Received: by mail-dy1-f202.google.com with SMTP id 5a478bee46e88-2c0bddb9196so450930eec.1 for ; Thu, 26 Mar 2026 01:08:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1774512524; x=1775117324; 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=LUvHAW7LNoZv8pxT5kMz299rQ3sQw5KTiRBTHyeSYvnHX3ReTAMcmTsE1upIxRTQJS hmNH4G4YgL2xFLEo/9apgYlNbmZ0io9gsE2MOl4ahN+ANNKgxlW+T7P2uXY0+C8naLY/ YComYY787qk4vXbIIAbbO5J3eRGQe7Ew3bY52n57aNxsucOuoYjf2uZTSedFs/mM/6TQ b/iKt2GlTUHmuQKHzWKqa4ZuCMHAVuRAj0Q9ZhqmOc5A1NEWmTvp+GvRnxBaPjXRp14z Txx1f5CYqN7XhqNZN3ST+xT4jQPUeKXJC7nfyPG2jl4w8tE9LKnZYWmxNrAZgXCMIX10 qPCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774512524; x=1775117324; 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=ECqvIDCBMJn1ujKCCqiIEWKYnQ0z5C3w/t+k4hbDVMbiSUE1MSY6Za3bllBZoZjbuC Z2H9388ZDl30gUaxY3ezhX1vefIvR+yHfHlSxVozE8Y0nZ18ecSRzI5XcKN9kQFsYbec YNWFwDzw/akm3wrNkBlANnFxZr7p78Mve5iHOQy5LQEzwuERQGYML5TXh8YkHbfnAIEu JcUb9rEic3uIYwmH5vsGEKS3p5HH/+pEfg+RpWtCPSP3b5/cwlZtTHPYofn4++gd/pjt Tk1iGt55Dixo5TMFBWOWuAA75F2sop5u7kzW6eB9Gt8SQRuYLD2wCm98tjsG3F5PmWE0 T16A== X-Forwarded-Encrypted: i=1; AJvYcCU0uOsG4vF4vgOZy8tXaGCClW2NAoWcXQN1uyMG2IyGWE7sziruf7C3P56ntSCnIfr6oou25AtBLnHuhgg=@vger.kernel.org X-Gm-Message-State: AOJu0Yz7g5HNSexIEduwDvBkBrF+QVCXEQ8qXTK7ZrfSF0l32J2+VVVT AW0VfHy+0tXXZNwDnJSgbMd3Pl/yJhszcGsnwM33Q0BVtNdaCkPp349PqRWt90BSL4uClmnBN8D uzQYlRQ== X-Received: from dykg12.prod.google.com ([2002:a05:7300:578c:b0:2c0:da3c:9f74]) (user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7300:dc05:b0:2c0:f424:b545 with SMTP id 5a478bee46e88-2c15d350374mr3760721eec.15.1774512523474; Thu, 26 Mar 2026 01:08:43 -0700 (PDT) Date: Thu, 26 Mar 2026 01:08:31 -0700 In-Reply-To: <20260326080836.695207-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: <20260326080836.695207-1-surenb@google.com> X-Mailer: git-send-email 2.53.0.1018.g2bb0e51243-goog Message-ID: <20260326080836.695207-2-surenb@google.com> Subject: [PATCH v5 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, lorenzo.stoakes@oracle.com, 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 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