From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (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 1E01662809 for ; Tue, 30 Jun 2026 15:04:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782831868; cv=none; b=NR/qfow89BEZ6Pf4lfGxma+wlGjhOZ/FmTzJI8PRkgBdqb7y4fSitikzTUC3N3kO689bYQ9jFn+XogbWB0RUoJz/Ued8tz9+KdyIzK7WtApFOWL7YkJPpM/n3psIm9BkozL8hokxWcNBtKPGz8wPCeAo4kMlwnpo2kr80VGFpiw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782831868; c=relaxed/simple; bh=gaAQyPseazQlRE79YeFw65+HAz9m9NvImoW94Wfk5XI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=oCwK0UtHers2JIhsFpOTNT4pXBbNqcGVPpzi8mycRxjdvF3D0KMB0FP6knzDoXQ5hYAxDCmGH7AI4aSvY+PEujrQyRwdqixxLsRQEsHM4mNVdNq4LilrbixEoPKkIXbimeBaqX993QYkw41n4WQBZ7COxLyZXnI3TN4EpgZiahM= 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=oQHQZ1pt; arc=none smtp.client-ip=209.85.214.172 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="oQHQZ1pt" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2c9b19bbaefso18171485ad.0 for ; Tue, 30 Jun 2026 08:04:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782831866; x=1783436666; 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=hkhDPMkIn7o4S+p4EJjWg1/vRnrXI2zfxcLsfb3CwqA=; b=oQHQZ1ptgaldUHaWraDqE2AXYceTpeYPoSkLQuht5FXBpb2mPBH961jg7wwVlnzGFv MZWfuDvF0LckI6anNeGUVEt43W4TipBdcwAzLQZNr/Q+K09po6DVpjviin0DqMJP21/o wRVo3Dc7tkFNwjY5HJotMTJBO8br3xe+guhDvWJUlxqrtoAxEJycMbWqLMzhjhslcjLJ pUv0B4JHNLUEDdv6OvewZPbvlT6NrF+zv6vxIYZqxLBuNtbeBN8r81eXsRdxpS8a2JKG jW4FFSWchPd1hh5rzHdiW9t1kuk3k/3MDd68DiaUNdkrjSXLJxW0mAtNMO4IjnlbLqNz brMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782831866; x=1783436666; 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=hkhDPMkIn7o4S+p4EJjWg1/vRnrXI2zfxcLsfb3CwqA=; b=FoAUEmRV31Y/hpu3GVRzPdHdxe3d+zzT2jf5y7hFHySVYGZc0rK/Oqx5OYks2CVCn2 buzOIz2QJatkwvf7o2PC2SndX4zCHJsQpuOTyvV1T1zpAIU+Cr2I92Ihcf15iEnMQbdh w3ySojNDCjHz5yTLUANzXZKF3rqE5JIDwLXwfb5tSnjXdjcxFkb5+s94d06cB/2Ygh2j ZuY+RX5kdjEh5YMRRbbvR8O4hRv8OdmOVQr2TC4MwG7s7Bnn4gsbw8zKYVGvstxOXZzw /1Keh84B8RX7gYNK9cl9k268bPOjSIPh1J+3TjUeRB126jBoL8LeXmCJ5S6KYpLSbnv3 SL+Q== X-Forwarded-Encrypted: i=1; AHgh+RrSTXGhbudfw/yzRNyZvud5PRN9s9W1GrtXBHqF5M/8erYWyhoQSlbtt6aprIsS11SOUHtZQdbLxwybu2o=@vger.kernel.org X-Gm-Message-State: AOJu0YwchF2AnCRp3D0uXudiiTGTHXNPugbYW73SCgIrA2odZIv5iMHZ OkGe+xUqi88Sk+kGgh0KHD/luR8PnYy74P8UtoSJqw7CFTuLmN0mPRNz X-Gm-Gg: AfdE7cnoIdXOXjMvv7knBzmYjMasCUrjhUBsOdbTC+oXoEj8Epkp+aCo1qw6cBoblAg x/aQbeK0QlcvFxeX9WjARlEIsOmn7uZFkBk4uH0QAg92mCkFyqUY0cOUvXW0vWnnKtIgyqrZq2D 9P8Z0pPhHU7AkYyuzhy6gEZF7klxrgpdzVR/odl0axn4g5XkrVp7xxxrFzirqn+eRkgL0O+BVW+ YyfIpZP9nBuKA3//gybtEjRPV4OihO4A7PYP6Zdr+CjcdhefLj/CozogEr6ZZoUpSU9K7XPl8ub AIWnv09JcR9u58ekfYQ0Fw9+uguBW9FHur3m+7V0HPeCWU11zLSk1GnX6ARZXWOA5pYvY8QMGGt V5hfxUZr+miJ3uzrvllZAj8PVN70sRJKSeXkl6CHUalVTwqvLd5D2rl9Il70ROuDebDal7D17G9 mkdN0jCtw= X-Received: by 2002:a17:902:e541:b0:2c9:97a7:71ac with SMTP id d9443c01a7336-2ca2ea23674mr32988355ad.39.1782831866110; Tue, 30 Jun 2026 08:04:26 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ca37a70bc0sm16250465ad.10.2026.06.30.08.04.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 08:04:25 -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 v3 0/8] treewide: remove unnecessary invalid range checks in memblock iteration loops Date: Wed, 1 Jul 2026 00:04:05 +0900 Message-ID: <20260630150413.1718632-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 Changes from v2 [2] - Remove unused local variable and braces [1] https://lore.kernel.org/all/20260621145919.1453-1-ekffu200098@gmail.com/ [2] https://lore.kernel.org/all/20260629163736.1606688-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 | 7 ++----- mm/mm_init.c | 3 +-- 9 files changed, 3 insertions(+), 30 deletions(-) -- 2.43.0