From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) (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 DFE0E33A717 for ; Sun, 22 Mar 2026 05:43:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774158197; cv=none; b=uS8zmRZo5Hhfhk/Pc/YwokplrG77tW2FXGN3xatUAur0LSvuSXHvLD88NyGJwk2sTsL09cXI8kYIwUeB/yq9qTmOenm1mobMMRZtEE53lH4F4sz8rJ0hYB4WJQRP3IiHyEwvXL/CMbrIqL55mC9umxgg631YEx0mt8dpDXOqvpQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774158197; c=relaxed/simple; bh=k8vibHg0a/FCBygledpiedlSEfAweaWApztc8G2PWnA=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=bzWsERPyj1QTs++QYUAZsNR2f/HLqXNKLb5N11RLpgQiB1J5lCi4wPjyIx9cFbwtfgbsprT3Y4sqUPNV9D7Ooag0MEbysydnXf3uBqKXH2TTuA9SqklFW4ZtIWGD+yWq1xefwI07hhF1+qcDeQ4i+LCLJO2w/soCbGww5Qp6R2k= 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=qTDOSeQ4; arc=none smtp.client-ip=209.85.215.201 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="qTDOSeQ4" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-c7385a1476aso2197000a12.2 for ; Sat, 21 Mar 2026 22:43:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1774158195; x=1774762995; 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=NCLfYASgT0jKid/tJ2FF95GlZkyQeWGLzgzFGOQGNX4=; b=qTDOSeQ4Qtmnjgypt5z5+M6sVHCc2VQSL4OSpBiKaDJIOau0T/7F2TfinA+DHmAFC9 feD8hz5eKLzrULOZE0bbmqVgKSKAj9jm0l3w0oZc3zbHMdxvewZawYvyxgWFIz1W148S 7gHa+GJagVTctWodEboCUCemZr2N28fEGFHrEGyXZpW4Lvs4uZNImFGBvTwtUningz72 xyNDn4YoCDlRGHzDIY8mPewDG7R8kvaRH0QyS+SYknYHHLEsXBGjqa6MZ0RCIW03mncl ApyC6lIaQcFbMwdQkgN3dEIVvKyHueFOO5gJegq6Q5Yet4ENBnyo+9q/ffXC4HKRsGgH rpgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774158195; x=1774762995; 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=NCLfYASgT0jKid/tJ2FF95GlZkyQeWGLzgzFGOQGNX4=; b=W92CYKtnZ4x/bJqZpEQotb1dsNdGXOPbBoLmZGb+YweXr2XkOuog3LXLg/ih63becS hqjJ6qHiA1ZGtSTTJaT5ZtZUaHmItz3mLdbIZQNAqP+wCv5v8DqPRtiFLTpib2ee5SC5 S2n8OgkiNJV3aXKYpxAd/eDTtn8nh0UHoBeJVujMWOmx4fuE61apfPKTvCFFaEV4JMpB xxSsI5SkI9jTbes71nPEeRmATilTaFiTSWIvvJLAuNsNHlix5cWGgT2AQLbPkwgGss+V 6S8peUvPOPDhHnu0g850haAtExDaEGM+fH0dEbURHaH8CN9p/GSIBhu/RuFQ/1nuPoCv /6AQ== X-Forwarded-Encrypted: i=1; AJvYcCW7CRrzHIBijqN7GMlV/uakeWZv6OBsOJbdefFT2fS5GnFMuPPj4nkPhkDI8V8fax9VDr0=@vger.kernel.org X-Gm-Message-State: AOJu0YyZDO9NJ2TJGdfXyLstt35si/S3/hfi6u+/4kOTEOYavyXsvfhh pWvl26nKF79IbHmlsD4UnrrazTraM76tEbtlQwDrpHTFUeq6BkgSDfUal0IjrbOd1fhtkhhRqIW 5Nk0BGQ== X-Received: from pfbfb12.prod.google.com ([2002:a05:6a00:2d8c:b0:829:769a:a81]) (user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:4191:b0:829:809e:8977 with SMTP id d2e1a72fcca58-82a8c346979mr6884137b3a.49.1774158194950; Sat, 21 Mar 2026 22:43:14 -0700 (PDT) Date: Sat, 21 Mar 2026 22:43:05 -0700 In-Reply-To: <20260322054309.898214-1-surenb@google.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260322054309.898214-1-surenb@google.com> X-Mailer: git-send-email 2.53.0.1018.g2bb0e51243-goog Message-ID: <20260322054309.898214-2-surenb@google.com> Subject: [PATCH v4 1/4] 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-Type: text/plain; charset="UTF-8" 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. 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 --- 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 = vma_flags_and_mask(&vmg->vma_flags, VMA_STICKY_FLAGS); vma_flags_t target_sticky; - int ret = 0; + int err = 0; 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 = dup_anon_vma(target, next, &anon_dup); - if (!ret && vmg->copied_from) - ret = dup_anon_vma(target, vmg->copied_from, &anon_dup); - if (ret) - return ret; + if (remove_next) { + err = dup_anon_vma(target, next, &anon_dup); + if (err) + return err; + } + if (vmg->copied_from) { + err = dup_anon_vma(target, vmg->copied_from, &anon_dup); + if (err) + return err; + } if (remove_next) { vma_flags_t next_sticky; -- 2.53.0.1018.g2bb0e51243-goog