From nobody Fri Apr 3 06:28:35 2026 Received: from mail-dy1-f201.google.com (mail-dy1-f201.google.com [74.125.82.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 D092B36F429 for ; Tue, 17 Feb 2026 16:32:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771345978; cv=none; b=QybJz1lKKYa+iKEgeWeGwX2SOxS+xcxo+jubk4niMtj1VmOyGmOId0yNKzpLEjVF47fBjepVn8102H6fhD/11xwmP9GFufGsHPrVonS/cjvQN7vVMzuyzOSWs1u2uR9AVoYlQHXh8dIt3HnIumLpnh2Yb44OtAfrJ/QnbmrHPNA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771345978; c=relaxed/simple; bh=5ko5sZevaLLikb5YibeDPV/ZAP+l239Wav0R9HXJvE0=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=ufaTDMiwi6y3B2tc8hN/IAP5e2ewsP+FnozJsVR1XiC9FZCZgMPblX9OvflAG5gBXSpc0H6bW/Shx3ZGpXXLC2bU/K7Bvs1n7Oz6gozPQvfpzwYlaq3tbictFrsftyAemqauyLIvp6iQNGvLwakYzXjQEVFLcvsWS90g7lH6Sbc= 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=bOWYw/xS; arc=none smtp.client-ip=74.125.82.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="bOWYw/xS" Received: by mail-dy1-f201.google.com with SMTP id 5a478bee46e88-2ba66faa692so5801031eec.1 for ; Tue, 17 Feb 2026 08:32:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1771345976; x=1771950776; 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=20E8AsSTFCwzOiRhIxVDRmNYTsZqkvgm04spnyQD6co=; b=bOWYw/xStgqGO07nAt1N/mPv4mjbNFx5rwkOmNskCAIDmK/psW1QNnwiPfynqy3NYM VS7bhu9aGntGS3x9AchPlDChjJrf3hw+7z3iV6GXjRP99vVF6ZnoeT2evUXIUp9vNVFd vXSuHVGgDfmvVdc2ZZlNHRGbj/pCxMyJ42eoH+H/6ZvRs3MvB1VjW/ni2ApGYKfzL6F/ 8X59PEHnwE9DDzMMElmWPljhM4XR/91T13MD1n5GfZZd3K5j2db5J0Grg7kI+wGmgc01 njnuORIIdlmXV5hzy0V4XWcpoBUbmBM/q92sTBf6U6MYg2yf2VyFpOr32Cs4A5g8UhTb a2MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771345976; x=1771950776; 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=20E8AsSTFCwzOiRhIxVDRmNYTsZqkvgm04spnyQD6co=; b=h9AsFRmi6Izc6ViDuNyx/0uMGGFpwe+U+2DKy/UwNKIB91nBU9tT/SgHgBVfnZ0oXx taisQl1J9HT0LOcRKWZ94MirwoxUJtu7lE4NGgbEaAnpe3of3BEEFoEQz4un9UJLmqhI VRP9JTeVoS5oS/XzsDYr5dpLM9MdjmZZkPmGfDgij4SWY2PD8+DGJwSAfHKUe/8ixN1K MiNuXYGU82nLzhe5BHTPYK7Xy2My+zS4JXOdaNfzfaUb4QvmAI7LFPWuA9RwMCjbQkzS M0zHFXMbItEPezy3wyjf09x0DGFVWwnk8NiiE5XHndkwJzjD2nZKkp73/F6FF158N5YW 2PxQ== X-Forwarded-Encrypted: i=1; AJvYcCWiDEYn5EnqmZb31srFJAKnvIkDcicK/z4rk4MArK5ahGHGW3gmEtaW4KqJaKYn7bMELUjJ21a0G2tmh4k=@vger.kernel.org X-Gm-Message-State: AOJu0YzXwpjvNA6owqRXGtVw4k0ipeYtJ/BYHDS4hXvFH9NIlQtaKzOG EbFu/KB8ilvSlByxloRk2R+xh3MnNCaKB+2Sj+dZF3Cc2AMF9YiUAHm1zmBmJxhBjXlvORh5NPP qMImHkw== X-Received: from dybmv5.prod.google.com ([2002:a05:7300:cd45:b0:2ba:9f53:8c70]) (user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:693c:2c8b:b0:2ba:7f8c:6754 with SMTP id 5a478bee46e88-2bac97ceddbmr4300008eec.37.1771345975648; Tue, 17 Feb 2026 08:32:55 -0800 (PST) Date: Tue, 17 Feb 2026 08:32:48 -0800 In-Reply-To: <20260217163250.2326001-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: <20260217163250.2326001-1-surenb@google.com> X-Mailer: git-send-email 2.53.0.273.g2a3d683680-goog Message-ID: <20260217163250.2326001-2-surenb@google.com> Subject: [PATCH v2 1/3] 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. No functional change intended. Suggested-by: Jann Horn Signed-off-by: Suren Baghdasaryan Reviewed-by: Liam R. Howlett --- 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 =3D dup_anon_vma(target, next, &anon_dup); - if (!ret && vmg->copied_from) + if (ret) + return ret; + } + if (vmg->copied_from) { ret =3D dup_anon_vma(target, vmg->copied_from, &anon_dup); - if (ret) - return ret; + if (ret) + return ret; + } =20 if (remove_next) { vma_start_write(next); --=20 2.53.0.273.g2a3d683680-goog