From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 1D111450901 for ; Mon, 29 Jun 2026 16:37:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782751074; cv=none; b=YezdQg9jeWcwL2rF1l/3mRMGaUh2tzAOWsfrcK4FlwBJOVRKaq/LR0UOqIeBxfSJYfNyHCiNgz3AAv1hn4Pz+1wOYx6OAsHoeALtZ4ZxIeCaP3goBsNySL06YXT6qMt+XCSOrz9HH3CqyhURfT7ZOP5x9163gBbrMo+ce2aPEww= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782751074; c=relaxed/simple; bh=lkcIz3qvkxY+ER46lV44lW4dSHsjOn7etxjpOY7fKEo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=u5rfacRFiFQe9L/GmM9x3VeIfXYdeJIKV8P+v2klixjjMmISvqPYKqUG2PcunjSbeBSks2I3O62txQ+oxUlRXtZKk1TRKXNxuAMpVoeR1ATXlHFFWVIFFSAtTXDjnu0wlhoV+uRwlueVHbOMd/99n92ZEVb84dBAM9tOsNIuzT8= 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=p8p2lNFp; arc=none smtp.client-ip=209.85.210.178 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="p8p2lNFp" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-8478a25f268so708765b3a.2 for ; Mon, 29 Jun 2026 09:37:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782751071; x=1783355871; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=rGoS9kJnOsBC1GLvPLCMMJFTI12ls42atzGQpoe5Bdw=; b=p8p2lNFpFWwUmjRISzfa9NYiJLBHq+2lkP8SPoYgtEm1ckKLTB9fQ9ogud4gfF+QRn YSKTrmjig3wmym+oyYBDfRqsqrG64JMHXTiSDDDCd9X9fTPJp1poliXzOiFBnz/lSK7j HAhHDLnIh8FZ53+zMwjGrqdq1qAL3cV4KAu/gNJOA3WtHaBe3HZfiIe9B8ollBNEqZOn yjSUjVfZ4iBaiGnj7idJXT4SAe28SwjUWV4GsEZUcVCsZ+cK5B2mEzx+eO86eLs5/xHE DznUwkFjPCUz1weGJgsIlOH8paYlCI2UHclW2IotuV9wXI+X+4RnQhaKBiCInxBE1/pK O7nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782751071; x=1783355871; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rGoS9kJnOsBC1GLvPLCMMJFTI12ls42atzGQpoe5Bdw=; b=dtyHdzaPFaYwnW0DdO/TGn1JNYgun0Np2xRQ4U1ymj54rJ+nUdazrJbpVqPiFcsUMM tknF6i9PabvKqW/30CW1J4cWlN93Baofi/c3EfBe6Sin8PTcCy4pg86qlrYLuylCWZAl FI5rMqOUghVdMGNknF1HVXPV8NCZj/TDb0s9Hg3LXUo/a3nDwgbE6YVvwOpYL1AbUCL0 yj3EdFEiIivPGjWQzAanB9vAIzvkaDavjUxMB27dvZRrp9FC+qYhOeCqWbiZDfm848nX bU3k8OqrfFJRR/nQ4kd6USvH48bJtQWI01wtWmfUvSD4KZoqNBYhOetHxQQiUn1avDov dPxQ== X-Forwarded-Encrypted: i=1; AFNElJ+RYeKBV3xWiPf0B3s2zK0c839PglLvxDJTNL6ZozQqDNbbXyrxkzsWt51oPJ3wGq1VWMVkYAmN31uvRN8=@vger.kernel.org X-Gm-Message-State: AOJu0YydImc8PfZRavTN//yLlgVYxo/QwwEMPXg81pVlbkZRlCQWxmb7 dXiYendIkQuGu/j8K8mLFGHkWXUj+aoSnN1ZY0QXzbSiDodVzw+apKEy X-Gm-Gg: AfdE7ckV48Y+FKxgitAPKkmkB8V5fXkEjbToz+p3iDLOZcfV3H5H6ApG4vFdJtlAxrs GXx4rOZqnLylWso7aK7aAyLFlXOlvshX6GgbtI7zYmtNjP3iykmp8vR0uVLrv+HTlJZxNPTx9ez 9J99rPg4Nmh4usrY53hSNjIekyqX13z7hzKMluhmM9ZrAQGTb1gBhLht50Gm5fmmlnk4SOApixl dn9+Te88KQjn82bOHTy4azV5KYuLK2OwAj0YZZW7g6pk8VefTr28z2kU5l+jNMapg5S1Y+EbCuJ ZxE9a5qwmkhwaSbDPo/c6EPyId48tcO02wIJR7onAxw0XwnBCQzKQkRbPyKcwFiIxCAIlTKL6mE nyb808smBxVfB3UsgoGchlfOZ4lIkkona8T7qsmUXeU9MiPpXAbNT/Xp+3ENZFxEH0gHgZ/zlrq CSsoVxdjw= X-Received: by 2002:a05:6a00:92a5:b0:847:8337:64e4 with SMTP id d2e1a72fcca58-8479f1f553amr205069b3a.30.1782751071179; Mon, 29 Jun 2026 09:37:51 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-847a02d41c0sm18474b3a.33.2026.06.29.09.37.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 09:37:50 -0700 (PDT) From: Sang-Heon Jeon To: rppt@kernel.org, Albert Ou , Andrew Morton , Andrey Ryabinin , Catalin Marinas , Huacai Chen , Madhavan Srinivasan , Michael Ellerman , Muchun Song , Oscar Salvador , Palmer Dabbelt , Paul Walmsley , Russell King , Will Deacon Cc: linux-mm@kvack.org, Sang-Heon Jeon , Alexander Potapenko , Alexandre Ghiti , Andrey Konovalov , "Christophe Leroy (CS GROUP)" , David Hildenbrand , Dmitry Vyukov , kasan-dev@googlegroups.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, loongarch@lists.linux.dev, Nicholas Piggin , Vincenzo Frascino , WANG Xuerui Subject: [PATCH v2 0/8] treewide: remove unnecessary invalid range checks in memblock iteration loops Date: Tue, 30 Jun 2026 01:37:28 +0900 Message-ID: <20260629163736.1606688-1-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The memblock API guarantees that for_each_mem_range() and for_each_mem_pfn_range() never return an invalid range, meaning start is always less than end. Several memblock callers still have unnecessary invalid range checks in their loop bodies, so remove them. Patches 1-6 cover for_each_mem_range() callers. memblock never stores a zero-size region, so the range it returns always has start < end. Some callers apply __va() or __phys_to_virt() before comparing, but these keep start < end too, so the check is unreachable. Patches 7-8 cover for_each_mem_pfn_range() callers. __next_mem_pfn_range() skips any region that contains no whole page, so it only ever returns start_pfn < end_pfn and the check is unnecessary. For reference, commit 36ca7f4be809 ("arm64: mm: Remove bogus stop condition from map_mem() loop") did a similar cleanup in arm64 map_mem(). All these checks are in different trees, so I split the change into one patch per arch/subsystem. The patches are independent and can be applied separately. --- Changes from v1 [1] - Add review-by, tested-by tags from v1 - Add missing simliar patches(5,6) to patch series - Change base to rppt/for-next [1] https://lore.kernel.org/all/20260621145919.1453-1-ekffu200098@gmail.com/ --- Sang-Heon Jeon (8): arm64: mm: remove unreachable invalid range check in kasan_init_shadow() LoongArch: remove unreachable invalid range check in kasan_init() riscv: remove unreachable invalid range check in create_linear_mapping_page_table() riscv: remove unreachable invalid range check in kasan_init() ARM: remove unreachable invalid range check in kasan_init() powerpc64/kasan: Remove unreachable invalid range check in kasan_init_phys_region() mm: remove unnecessary empty range check in early_calculate_totalpages() mm/hugetlb: remove unnecessary empty range check in hugetlb_bootmem_set_nodes() arch/arm/mm/kasan_init.c | 6 ------ arch/arm64/mm/kasan_init.c | 3 --- arch/loongarch/mm/kasan_init.c | 3 --- arch/powerpc/mm/kasan/init_book3e_64.c | 3 --- arch/powerpc/mm/kasan/init_book3s_64.c | 3 --- arch/riscv/mm/init.c | 2 -- arch/riscv/mm/kasan_init.c | 3 --- mm/hugetlb.c | 3 +-- mm/mm_init.c | 3 +-- 9 files changed, 2 insertions(+), 27 deletions(-) -- 2.43.0