From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 54AB6352008 for ; Wed, 5 Aug 2026 14:42:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785940957; cv=none; b=gVqinfg6q5SeACT034znsSNZMxNZBo8OI+3l6HtGhCoGfxa0eiw2/75KYjF0VfpyuuSPzgowzElI5OTYgu+BwnLTiew+ksQiWd4L3Yo3r6nHb7bozOdBSnt+IQKsyCQGb4vrnBoOawNkpSwBN2+abGUO0M/C5v5iYfWPcAEppws= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785940957; c=relaxed/simple; bh=cnAJUOffakJVhIyBDxUWuaHwK0B+FjaDZZhhgwWfY28=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C8OvVID34oSu//uwbi982QNGZZOmdoXaTxFIvjKHoUJlXWkpEcOxdv4mGujo6H54Ax3JDcCXisrq6hpEHG103KCRG9HXld6Cg4mFNUmn/ERf5L00e743uphLSqWnx+UeZLDUET/kwDgbZ1hDC6Y0HaNRbn+z0QuvtCBfwF5Oi4Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HkzZvGFA; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HkzZvGFA" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-47c6e9a694bso699235f8f.1 for ; Wed, 05 Aug 2026 07:42:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785940950; x=1786545750; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=awORHCEFJ8S0UqHq55puPxkhFlpDUSfBHw3cahKX9ew=; b=HkzZvGFA9Pq0287uoAcJopYFwIqv1HlS3bI8LwPh9C6FNseAYQUdMuq8DPCD9neaJK 4doGLyMl3LDnxN8LBZKfdLe6NpDqUvUiFUa7y3T9oGUBM/bXeNX387F5FTGcvGJLIhH2 oBwACGfEVKc30c422befOvg7xg5aI6Sbm0e7nYWavtt2SFBlMo9W/4Yb7NY494W9xXIM bZ0hzs2sXyka6UpwYlkBV1W0zSHau2pOpDT/+f68UXdPzRC6n2th8HSIIzWihd3LT4HF Z9WxJ09eC/HqCHdFavI/5ccI/cSH6vAnJGKlpoHJ/IeukRhi2A8zBKitvOXmFF2A22aZ BJeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785940950; x=1786545750; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=awORHCEFJ8S0UqHq55puPxkhFlpDUSfBHw3cahKX9ew=; b=opTtGUf1xfr48vVzawGAVoQQEBrmP6kLQMXpA/UnnBBsJtOV7DN5oOwNuha16kLxuC eEux4M8DRf9/MGJqB1Pv8LqJIyztaActTWtMjw9CVcAJpG+FzFE5xk+IPggVbFJp7TsM 1uR9XgLUy40trAq56tFBWov8gSK5vfTsEAnYLNY2Noik5VUTy01Wtm0bHm0V76sJqe4j nZlRn/qz/LgtfgJOnKq6/r+cbO2rtbEtoRDrj6YLGOw90QcWrwMBPH1ZLs1sKOqGbn92 z2WlSK/03sxb4YiJhJeRUTWkZwh0f/cGBhPR2Px5NX7CMaF4ihScY6raWj0Hkyjx5D18 sk/g== X-Forwarded-Encrypted: i=1; AHgh+RrMh8cFEazQ/X7IibVabF3xghXJ3ivR6C7/6Npm2SRw9NwdEWOdIn58HjhqSIjFlYaqo6PYU3ZPoTtd7iU=@vger.kernel.org X-Gm-Message-State: AOJu0YxkzeWizch+sB8ElsjqtGj8VfGwrrGzNKhzGdGdclVFhrenjbdo NH2iSm8rZ+6Ingpox9+b4CN87THN7zwk90l+962Rq4epRtfdhONl3vsF X-Gm-Gg: AR+sD122tTOaUYEOGK1Nqcf7oxknsmy4qrl4irsbhElaHXW+u/x7a/p7c4qvId1VcGD PknXN9zvoTntrDJX79tDO3p8dRMV4MGLJ/uWN89GEfGTB3L2k8t1cDX5+lGk/5kUEAbN5SA53gW rNMPNqYxd7KntQakuN5XCJ1dz19gA1GpUGIfQ1Qfn6QaOpJqz1ZWumZu7Fj/RIZdI3RmLCZuYoS Rlm6HsRVogMRmWLbYqCaAxy/Y8py5QiDXXONVGb+XsuU9UwmJtV0+k+zwvB2uFkcj9RZMmXjrzV u29AUUPdhKfOguixfptoQFwCfGvTD65wQPn0RuYZr0BSMAtr8j36mcbRDcR0m8XHk4Ng0BqDTO/ 1BIZKIJL+a/qKqYcMZ76oaNnluC9S+uEcMVmTtQ2ktUZEIVAvBRTjMYS/BVNVPe9z8KHLuWQEoJ 217yEaeKsJMbqAbRQ0JX0ecI/gPIKH87OuBbLLQyP8osI4+gxdWZRyo49yWtEcMeOlwX2QAVGly mtdxbGfh3FNA96ds3bBorQ= X-Received: by 2002:a05:6000:460a:b0:47f:8866:bd6a with SMTP id ffacd0b85a97d-47fec63a8ddmr13340683f8f.19.1785940949557; Wed, 05 Aug 2026 07:42:29 -0700 (PDT) Received: from LAPTOP-AVI.taile24b5.ts.net ([2a00:a040:1b7:4f41:6df7:ffe8:d01:255d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fec232333sm10094289f8f.18.2026.08.05.07.42.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 07:42:29 -0700 (PDT) From: Avi Weiss To: Andrew Morton Cc: David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Soheil Hassas Yeganeh , Arjun Roy , Eric Dumazet , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Avi Weiss Subject: [PATCH v2 2/3] mm/memory.c: simplify error handling in insert_pages() Date: Wed, 5 Aug 2026 17:42:18 +0300 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Initialize error return status to zero and then set it as needed at each point of failure. Assign -ENOMEM explicitly when pte_alloc() fails as the pte_alloc() macro returns a boolean. Signed-off-by: Avi Weiss --- mm/memory.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/mm/memory.c b/mm/memory.c index 8658feba8be9..11bb4fb98761 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2434,20 +2434,22 @@ static int insert_pages(struct vm_area_struct *vma, unsigned long addr, unsigned long curr_page_idx = 0; unsigned long remaining_pages_total = *num; unsigned long pages_to_write_in_pmd; - int ret; + int err = 0; more: - ret = -EFAULT; pmd = populate_to_pmd(mm, addr); - if (!pmd) + if (!pmd) { + err = -EFAULT; goto out; + } pages_to_write_in_pmd = min_t(unsigned long, remaining_pages_total, PTRS_PER_PTE - pte_index(addr)); /* Allocate the PTE if necessary; takes PMD lock once only. */ - ret = -ENOMEM; - if (pte_alloc(mm, pmd)) + if (pte_alloc(mm, pmd)) { + err = -ENOMEM; goto out; + } while (pages_to_write_in_pmd) { int pte_idx = 0; @@ -2455,15 +2457,14 @@ static int insert_pages(struct vm_area_struct *vma, unsigned long addr, start_pte = pte_offset_map_lock(mm, pmd, addr, &pte_lock); if (!start_pte) { - ret = -EFAULT; + err = -EFAULT; goto out; } for (pte = start_pte; pte_idx < batch_size; ++pte, ++pte_idx) { - int err = insert_page_in_batch_locked(vma, pte, - addr, pages[curr_page_idx], prot); + err = insert_page_in_batch_locked(vma, pte, addr, + pages[curr_page_idx], prot); if (unlikely(err)) { pte_unmap_unlock(start_pte, pte_lock); - ret = err; remaining_pages_total -= pte_idx; goto out; } @@ -2476,10 +2477,9 @@ static int insert_pages(struct vm_area_struct *vma, unsigned long addr, } if (remaining_pages_total) goto more; - ret = 0; out: *num = remaining_pages_total; - return ret; + return err; } /** -- 2.43.0