From mboxrd@z Thu Jan 1 00:00:00 1970 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 6099238E12B for ; Thu, 26 Feb 2026 07:06:16 +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=1772089578; cv=none; b=oFvrGELgDmACil4eZ2E3GJ8i3S0xM3zUWndLUZDFvdjOIEHhHUfLiF5Jy9rr0ZQ5147R4wrjypwCEFtIJ7woMV+RovE8iW8La1LBTBe9gMhHfAh9tdvjNrItcpBTk+MkvFVS8wtpSBgwkrd0AWGNxLHNHY2kh5gRt4Ip3zzSkxs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772089578; c=relaxed/simple; bh=cvM66anYgz9K3Mo4/Dx9OzmNjnvAQXpBRRxnW76ZNTo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Mr71z9cuUJf5zz314+gCMSfUVWCaaZZhv62OeBPj/IG2LVFdW3gdNz198tVyxcnPXXBo8YaSFbEP3b6HS2q42j4dLYaimlroDLlnFXA3+ARb9WpFJpJPk7+3rnznK3kwvnWE1Fb0XYmdGRFTxgDiog5AH2KcySyk4zZ+cs9lXpI= 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=W5HEB6du; 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="W5HEB6du" Received: by mail-dl1-f73.google.com with SMTP id a92af1059eb24-12733603eb5so9347985c88.0 for ; Wed, 25 Feb 2026 23:06:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772089576; x=1772694376; 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=xfjM/VAc0stWw4WShx/yqMtIU9xXg0AJdwokX5oM15c=; b=W5HEB6dut3kHHqSPYzHvkaFmdjI1pQ2DoNrlsVv77VKO2Fhe8z0B0PLsiniGF8X0NK x/B7JivPzI4+Da945+E5cOJyJp6OebAizX4FkpzZl742mmbBdvbW6epkhAdYiDmDI6JQ RIQtYbPkWB1wxij4AV3eP6xDnaS0q7fjJOnmcABD99ntcldmwMeHV9yelz5nmNh71Zz3 8PH3lQcB+ulgWUL2zIB+NWl562SYcJbcpCpiUw8zw5P0Q6cw/MRB4rOHeoY2+R5+H5dQ qd1e3yNA69GgXwAgFbCzHhq+fgzS0tU0eJbxDfpfyhqRKElN9InEJGcHB2qQmr1+wKAK vNtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772089576; x=1772694376; 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=xfjM/VAc0stWw4WShx/yqMtIU9xXg0AJdwokX5oM15c=; b=fX9/MzKkkaxZrrmDUaLZTVkGELi1r95iEgwT5oEoql1GSnE9+ysMaI8CgnDGZHuMtH JVonwkgvC4vttB4h69jp0d6io4Rb/FZ9s/aMZ62s8JZwkZAndiXF4EYFRbBKp23kK0AW RUVzHhJVlPk1+cuiYo4nsuqF2xvnjU3OAn1jA8PLAY1kDw8fweBgJef/VRFgiVzMuJJN 0WlOfQco4N+tmAvKqUAottmksClS3T89vVv6Bec79O6eDlwhuae0Y0e6Fb4/zLz7vshG a20SYWk8X9xEs7S28hCVIiVFaErYYjqED4IxUxrvEobGZW0tTXBZv4rjppmle9IrcKXp cPhA== X-Forwarded-Encrypted: i=1; AJvYcCUt5WEUc26MHKa+FgC6vReKfqz4Ji9mZUn/0UB6jzNdwTGbU0F0lDoqFMQu4/Vn9XpcB7CWdWDWmBuIYn8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6rpOR8ASgzYPEVD6VzZlOhHx6zeJ/2ovScyQN7rMIp+XOzivn H+Gd26uOqDGayxfexKvNwb2y2USBLZveeUtXNsBa5uo7DiEZV6e/e/eYJBLToM+i3yBGStD8Xbn gGVju4g== X-Received: from dlbvv2.prod.google.com ([2002:a05:7022:5f02:b0:124:a76e:bd23]) (user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7022:626:b0:123:345f:5d9c with SMTP id a92af1059eb24-1276acdaa5amr6463857c88.2.1772089575384; Wed, 25 Feb 2026 23:06:15 -0800 (PST) Date: Wed, 25 Feb 2026 23:06:07 -0800 In-Reply-To: <20260226070609.3072570-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: <20260226070609.3072570-1-surenb@google.com> X-Mailer: git-send-email 2.53.0.414.gf7e9f6c205-goog Message-ID: <20260226070609.3072570-2-surenb@google.com> Subject: [PATCH v3 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-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. No functional change intended. Suggested-by: Jann Horn Signed-off-by: Suren Baghdasaryan --- 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.414.gf7e9f6c205-goog