From nobody Mon Sep 28 15:34:27 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (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 2605E3D34B1 for ; Thu, 20 Aug 2026 07:51:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787212295; cv=none; b=PqxyAEGEoNpP8cavzE5DCu8vbkKpznmxMneGuO6zTu8eMhQqis7U/SJm4QWJu2PZc1COuLcv63WedKxFdjhEJ+gTsWZ34RZrnfXf9jVGVVXG1fwZ/oGEgLBoHCG4X1xyBAOGh+49xC88oEaC0yX8ohIVv4oPvjGsVsYCJSZb4ag= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787212295; c=relaxed/simple; bh=IODEc7XN+7lqbN93c2zXJMjFAxNRhHXZr3aHb2ZZb9Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=joPYp560zf//0luWaKoJDWrEHRc1dDdneykJKveRrX7AIsZk5kU88wj0wOTbgWRJxi+jfBjnSnw/UhyOfjMAY2PlRv9fPd+VwqvExmWZM6rEO0nK2j05NxAnbwWEEGAYxK5slzZyG1SOE62z6CxDwB1fg4CdUBqfdMOYHnZNZrI= 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=h9uW2uOR; arc=none smtp.client-ip=209.85.216.50 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="h9uW2uOR" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-38511175ad3so1769853a91.2 for ; Thu, 20 Aug 2026 00:51:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787212293; x=1787817093; 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=4YrKmMIzL+/lCEFHEZDQ/v3PZXrVKsIQq6P3ustylgs=; b=h9uW2uOR1lUE4aKPLRJ+I4rR0dvkX245SAaPTVgrXyHVZ4l94XTRdnoW2F9Ju+lvTp Pmi5F7KwTvgOAebZKNl8E2b4STCxH5G0u17iVP596DPVyOMci1ehse3fp5oxe/AlEfV9 ikj4o5RdIp6rD9Px60HTQySctZr4mVz+klzuscDAya5D6VupJXlQD3NdcaEErLHcTc8R 1tgWe3AhIZSCuN/Bi0dGX+sVGErnInM1rmORZChJVjq4l9OpFhUXb5j/god+f1DiwhY/ zrrR9Pge4dLxiJmwR1F9QyrrXFv+Ja7utBNwT+ZXA+3NpZA/BZN1pCPub2H57DhEYgBb wllg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787212293; x=1787817093; 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=4YrKmMIzL+/lCEFHEZDQ/v3PZXrVKsIQq6P3ustylgs=; b=f0XcxNrwox00qM8y5Hm7knELIEm3121WBwb9p7C9tDM3bFdZZWC6Ksj/2eLuzrzJMo 9DEMIzviHmFV+rUbGtvX4PzQz16Bzv7bCob7VwzClhXz87VIhzd0Zga+Gg3vKbiFJCMN X8UVjYpWhts0WjJCTK9fViij2WgMBorlpY8SUO4SoRA085AgqJZ1YpX3IaduV0BK6AHv t8BnUz0B9XjFF15WFkXSx/3ROsKIMvOqWHiNEP1wYpnMPoruTNgVe2HlJtAC+6VUFppM yQuXeY2AMyn5N/t+njblhVhBAKuwcQpkam9jkNoDWaXUQXU9wIze9RpOLA6sbJ8iv7H/ kJxw== X-Forwarded-Encrypted: i=1; AHgh+RpcQO8SeYZv1szELuqe0kQtKJj1iycn2LdsztM6iFmscb/EcCE46m/LfKyi54aFIuQDqcwRJxrMt/DNyC0=@vger.kernel.org X-Gm-Message-State: AFuF++n8v9TB7uFNoLFgcW9rTIuChClLUOC8S6eJykYq5Rnjdw/Nl4sy epZi1MBdD258MlRr4KtvZyX+wol6FYNf3CiZiDTh5IubUkuqXyDV+I15 X-Gm-Gg: AR+sD1132QmY+N33Mp86dVt7IIeqIHU1iuwuP0e9igp0cP8KEOAJ4NmX+TILXuCw9cy lL1jAaWRclo3Besiko59jEIj/tA1Yuqjy3xFTLo1+AJFF/oc7VWUa4cVyAGbqdqfp3deRVJbJgS um+oh2oDDFZtsxF+Yslw4JMTgLvTGBiS+oFu7o23ybd4ZU8znw3ugZlh1OTNsy9viciMK9fiL57 a1KO1vXIyWmOWQyOsagfUv618Ap9aI3E3HgsiYJRQhH+QGtUL5DmSrJZv4scYfoipxy3bsTI9Da ZXKz1e1Rjl6b/xbn8Gj77aSsooP4L5ggu+3/u4TqunolpITMh9SufAYD36xVcz/ajWCR69K334k 0cMR1ReCnUwhDrZBWzEIfhEeR4xudUWOAZcEWVcjs0lKi62V9xmx81+D9hytceVrKJtuFFpQeZt 35YdLvG2LWDVB5BSfTe5bWB/85PMbewGtnMkBUc5pexEMHkKBEqxocdylYjEmKbtcDmSxgE5oZT e3i8c8eeHhu1vOGIg== X-Received: by 2002:a17:90b:4ac9:b0:37f:ed7e:7e42 with SMTP id 98e67ed59e1d1-395810cad6amr19605075a91.14.1787212293411; Thu, 20 Aug 2026 00:51:33 -0700 (PDT) Received: from PC-2B0BA31200898.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395ada67783sm455429a91.3.2026.08.20.00.51.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 00:51:32 -0700 (PDT) From: Meijing Zhao To: Mike Rapoport , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wandun Chen , Meijing Zhao Subject: [PATCH v2 1/3] mm: memblock: add missing HugeTLB flag name Date: Thu, 20 Aug 2026 15:51:20 +0800 Message-Id: <20260820075122.3294367-2-zhaomeijing100@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260820075122.3294367-1-zhaomeijing100@gmail.com> References: <20260820075122.3294367-1-zhaomeijing100@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Meijing Zhao Commit 7d163a75f821 ("memblock: make HugeTLB bootmem allocation work with KHO") added MEMBLOCK_RSRV_HUGETLB but did not add the corresponding entry to flagname[]. As a result, memblock debugfs cannot report the flag by name. Add the missing RSV_HUGETLB entry. Fixes: 7d163a75f821 ("memblock: make HugeTLB bootmem allocation work with K= HO") Signed-off-by: Meijing Zhao --- mm/memblock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/memblock.c b/mm/memblock.c index 09b84d1cdb92..99f8e1bc60a8 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2902,6 +2902,7 @@ static const char * const flagname[] =3D { [ilog2(MEMBLOCK_RSRV_NOINIT)] =3D "RSV_NIT", [ilog2(MEMBLOCK_RSRV_KERN)] =3D "RSV_KERN", [ilog2(MEMBLOCK_KHO_SCRATCH)] =3D "KHO_SCRATCH", + [ilog2(MEMBLOCK_RSRV_HUGETLB)] =3D "RSV_HUGETLB", [ilog2(MEMBLOCK_NODUMP)] =3D "NODUMP", }; =20 --=20 2.25.1 From nobody Mon Sep 28 15:34:27 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (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 ADB063D3327 for ; Thu, 20 Aug 2026 07:51:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787212299; cv=none; b=P9Z7wvfGRhpZrxlKB6B4yswxiuYYzo2/3pMUhClvD1Hnge5LaZ3FEunJpNug4VP9/ai2++rJxYMPV+iWB1qQwjLeeC2NkfHExlYG+iQtyqL6L/dGMrMImk9A4C1RWmnxTepc+SdSgulyXOSL1b4k22nBaUZ7E506c8fjrFz8Tdw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787212299; c=relaxed/simple; bh=3K29n1Mc4GnOo3YTytfSgbeoNStmjKrYsOv9BTu8RDI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JATegh6yjAZuF5XSiEXMMVnRDSNcRwY/cgPi35Dtk5RxeG1MuU/1QpTfDKjWatW98GiodQaI/xMiFxmOfBx+kYtNBCfjVZR+t9qrJihVbf3fhz6zaN48MF6ra0P/jp+cCL6/pfIf0xsJb2zhoRFm7gdqB+mE1/dvnIPeVjh8eZU= 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=eomHdOPc; arc=none smtp.client-ip=209.85.214.180 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="eomHdOPc" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2ced3386430so16606025ad.1 for ; Thu, 20 Aug 2026 00:51:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787212297; x=1787817097; 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=BYWGm3JCncYh75joMZsEV9hCVt+QeCSIIV62iiS77nk=; b=eomHdOPchMJNfAAWMOhJBVloLHgVxIJNFR6qvhihqrLXRHrqSeO/iLKHovs2hGLlkV HinlBP6fw8OD20EIPF3vNogKXYq3RGz2fhDEpdAeC386vkfsKSI42PjmSZvLudAYw+6L XNsw+BAu5EjSOUFWLky8q/oTvmKP3Aziczq9r3oVCyyQ93KaSBmyft36bE0OtCuOKpSU UGjj37uA81S5LFU3Xe90DGe1oRWOygcIRSmKzoeMnczYALYvOUJH7tglYjE+jvTcjsLe CmNWDy4hr9FZB4ASd5n2TJwi5FWtSYdufEvdCHd08aeO137HN1PAvLHm8xtfZc1pyyvi 5DJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787212297; x=1787817097; 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=BYWGm3JCncYh75joMZsEV9hCVt+QeCSIIV62iiS77nk=; b=LBKVlf248/8ZNhmGeEsopR2lyOmz0s8xOnPCewPZVKNK4Y0DbbsZTEa6/8DNETD1Rr AcABtBGLtS5vAMj7ESHOFTVWrVaZYyWZu1kakUa2ZO0KnZ0YVK9laawD7N2qup8AoZTm 3wKhhTFvAaKo0O5Rogo2IDwKwXYr29qNR7PEb7zDHOcbR52bnzGNRTGyObUy71V2uP/b Kp0SeI1JjxSntrMyCche9iMPcEfKtvxXT0iG9OWyUkuVcySU4E/31jX/mLTknikO/49M thsEJkQesSFKlh1LsV3e19vbTRt/3uXbZer9PWVgDVVvpYx7YCUKGmzF/Iuj279Y2PYZ t6pQ== X-Forwarded-Encrypted: i=1; AHgh+RomeC+S1OoLFM6O+gePqT/NUUc3Cbj5UYvRokCYrE0yU8dedGWmroUUuAcUNNub1OeuPCUjtTOqbvCgiV0=@vger.kernel.org X-Gm-Message-State: AFuF++nqZ14a4VjJHPZhZSZq3JF7NmYENcVEj9eDm5CLxyksaNHbidxs dJzq84zVqDz9HA1TSGImtALzQ61B9du6JDKfMp9zfVIsXjADGZXBBNjI X-Gm-Gg: AR+sD114TzivBoKKqnlYvCuNBNYM78adEhNY15VMrMzDhmzvwPOi3GCTFsf3WNPPA0e SgYPnkRbibp33g4AQwAYDZSuoB53kNSJLEikrMXyRv3hGydNHCY7oMCGrBRMDc1bmHWtfbwpzh9 B/n9O8mgISZMmYpDTJWf55K2hjnHfZ295UJUL9T30GV9C9S0fqUTH81PdYNCp+Pu4F8TBGfInvV qFLvAYegaFT0HumO1LyQfJYL73HKD/WsANx22bD9FANkjkimLDMWKAi/R9rM7gZx5AAm3L0SxbO RBD6EnbDHLvhM7FQCJoV6oiqlvAt2lE3yrw7qcqCOt/ZRhz6Uv3Hoi/1lGxF7YOllXlEFFxMHfD gh5Y2yP640435Pi4HSSHl8yr7YoM/OWEimsjMEbKv++FtrJUYmd7gAGmLJQ38BZMEezgWG98K+Q ntfIRXc6DRB+SqUIxTQG2RA7ShMLbyLab6p8QH6HJ8a8H0WH63lUijHDT+BpxHo2ZF6NRTBYb3e tifhYWeBXqqs6IJHKCPQKL7LvzU1w== X-Received: by 2002:a17:90b:2810:b0:381:e74f:8a6a with SMTP id 98e67ed59e1d1-395810a1049mr21829261a91.16.1787212297013; Thu, 20 Aug 2026 00:51:37 -0700 (PDT) Received: from PC-2B0BA31200898.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395ada67783sm455429a91.3.2026.08.20.00.51.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 00:51:36 -0700 (PDT) From: Meijing Zhao To: Mike Rapoport , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wandun Chen , Meijing Zhao Subject: [PATCH v2 2/3] mm: memblock: show all region flags in debugfs Date: Thu, 20 Aug 2026 15:51:21 +0800 Message-Id: <20260820075122.3294367-3-zhaomeijing100@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260820075122.3294367-1-zhaomeijing100@gmail.com> References: <20260820075122.3294367-1-zhaomeijing100@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Meijing Zhao Commit 493f349e38d0 ("memblock: Add flags and nid info in memblock debugfs") made memblock_debug_show() stop after finding the first set flag. A memblock region can carry multiple flags, so debugfs hides all but the lowest set bit. In particular, memory allocated for HugeTLB pages is reserved with both MEMBLOCK_RSRV_KERN and MEMBLOCK_RSRV_HUGETLB, but debugfs only reports RSV_KERN. Walk all bits in the region flags and print every set flag separated by "|". Keep walking beyond flagname[] so that a set flag without a known name is reported as UNKNOWN rather than silently ignored. A HugeTLB reservation is now shown as: RSV_KERN|RSV_HUGETLB instead of: RSV_KERN Fixes: 493f349e38d0 ("memblock: Add flags and nid info in memblock debugfs") Signed-off-by: Meijing Zhao --- mm/memblock.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/mm/memblock.c b/mm/memblock.c index 99f8e1bc60a8..7eddcc412618 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2912,7 +2912,9 @@ static int memblock_debug_show(struct seq_file *m, vo= id *private) struct memblock_region *reg; int i, j, nid; unsigned int count =3D ARRAY_SIZE(flagname); + unsigned int flags; phys_addr_t end; + bool first; =20 for (i =3D 0; i < type->cnt; i++) { reg =3D &type->regions[i]; @@ -2926,16 +2928,20 @@ static int memblock_debug_show(struct seq_file *m, = void *private) else seq_printf(m, "%4c ", 'x'); if (reg->flags) { - for (j =3D 0; j < count; j++) { - if (reg->flags & (1U << j)) { - seq_printf(m, "%s\n", flagname[j]); - break; - } + flags =3D reg->flags; + first =3D true; + for (j =3D 0; flags; j++, flags >>=3D 1) { + if (!(flags & 1)) + continue; + if (!first) + seq_putc(m, '|'); + seq_puts(m, j < count && flagname[j] ? + flagname[j] : "UNKNOWN"); + first =3D false; } - if (j =3D=3D count) - seq_printf(m, "%s\n", "UNKNOWN"); + seq_putc(m, '\n'); } else { - seq_printf(m, "%s\n", "NONE"); + seq_puts(m, "NONE\n"); } } return 0; --=20 2.25.1 From nobody Mon Sep 28 15:34:27 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 A2E643D45C1 for ; Thu, 20 Aug 2026 07:51:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787212302; cv=none; b=RVkmcVu34AoYwKqNS5R9Ln6mIHWeTo/ArPyILtio97LC6iCpxDyKtOOVtVrTWbBx0d79pOOkRwMHXVuvYgRgp8XkfjdVzudFhe9hBk5UiJyxzrfbK2M9uy0xc/Cbo7gzj6flChHGxBNEpyw1eHbd7b8l3MxGlblwXOhsby9dv6w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787212302; c=relaxed/simple; bh=LU5JXaS25Rfk9RtzZ9bwEuNLUEbpMN7PnUINe5hFfrA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=D+ad6WbAmzSQK5tPRTy6KTyaGtI3Q3kBTXtiZDdhbd1/dODV5Thhs5+8mvd6zuDFFKm9JslseGAz58jLIUHAdeUsLjF8u499/rb6+Tw0M6E3LsbWwTZZ4UVFnO/VIGT5lSJ9ntm7qL9TcEuYa2SRTp0iGsfczMKEU1T2QBPhy5I= 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=KQYgy5zk; arc=none smtp.client-ip=209.85.216.48 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="KQYgy5zk" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-38dd55ad76cso698761a91.1 for ; Thu, 20 Aug 2026 00:51:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787212301; x=1787817101; 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=tcJ4CUJSv3TwjcKRyBJSt8frSb6FbG7BZe62qdbIbBk=; b=KQYgy5zkpg+oXXUIOp4sWv8+DoAdjtGFLT0ws8AZukZHkzaHL1AZxWQZErs7+8vRl6 3STUxLlkkshCeGig+5AD92dI1lawnpQcii5Io1GP4TGJAVswFDUkg+9UxX+62yhBH+rQ 8LHcD0I0MosZZABWqglMNPKSHWDsYV+muipukjJemRKzJClg5PUvLbQi4N+PlK7uEpR0 ezON+FSHQBL7gyPXpSyRd8gic3FR+/DfbQTS+Lex3bSbPFELi7kyX5u/a+Ok9DW/fQy6 obzoE6q1BX4fWteoW03Sh4y6l6N1hQCQcRS65BHNG/hN+d20KJIgOsa1OMknVPOwYZne EHEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787212301; x=1787817101; 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=tcJ4CUJSv3TwjcKRyBJSt8frSb6FbG7BZe62qdbIbBk=; b=Z+P7Hf5J8EVE6VD0aEaU3V7AXMfA/uP/yGaNefIxdEl6whD8nq/RrjjwK2MByyxXI+ qpafQSn24BXjbRE8oCVC/wkyNRO2oGW0TPgy3uBNNAgBazMWSaTHvWtS3Y8ctwgWv6Wp EMDeayYGftyUFqWAkFjhw48hSy5yZz3jsZF8DmkvCF+vklT0k0AP9q6xMNCu6m+5MvF4 GzY4nHPssrJvDILaukHJoi+1PssMDe3gXlLZE9dGSVBn/JZIqLKY90Z8aGAQmSkgWz7X pthl+vBe/1/BFs8knl20ZWAGhCoH4VzqPfSye4xkEO2EshfbD2DDooKkB2ku6sWqRoPF T/zw== X-Forwarded-Encrypted: i=1; AHgh+RoMmxRsqXXuYHQJZN/vqI9a5zhi6gGeY8NOHxLET4076aFqGXXEZC7gvLpF/MbzhPt8kSi0WQwKUiCeZV0=@vger.kernel.org X-Gm-Message-State: AFuF++kF7FKx7n1mjZygvn3yPaIaFWiPyYyBVoUfCdTnnJaVlrsLXSiv v2K8Wr8vVK+XY3oStHFQ/3FjfDZxQfwgf9w8szjNl8BqRMfQ5L9EgXDY X-Gm-Gg: AR+sD11/oJseEVVnPlAKIcvdHe0hKeWcPjXdEtdbQwCNNWl7LtPkjWYpD8AzbMxIBey LsRTzR146QUO60e1ZGuNKteUL+T/8I7NRqZOA3sN5Q3W9SluYdkNxi56JXCKd42zU8wXAf6Vctp ss9v1T5312QQ6RgOfIdv3uODwFSZA4HsdKLWvml0fYA7PGI+VgPEs+rmVP/K8AZ0cgS/bacUIK6 mdVKpCzBrQIKiUm0VXZlLzpKe3zDPXCpsaKgkH3A7PcqH6M1AJbcxL6/hJ3PLaoltfpIBwHhdY1 C6O/7A+6P1MI/L8PBmGWMXwfZLIM0plqqUWl0RcNIHdhgcde4GXEt+ms9xFQDLToUtz8OFgsQh8 C4MqiYyDNLHyrBOzOkKvcMX6dBuuYZyN+o1aYI+lMHIP39zzw4E0I0b/8m7iE+LQp7KcV5VLnPZ FVX3e96jydkDWdU77nGJG1XupAMq21cXmFSXgoU7qTnFPS9ZtfKX4RyH5YnqGSl/FXxEE08Vp/w uzNqglEb/0c9Gsv5Q== X-Received: by 2002:a17:90b:394f:b0:38e:9ca8:e99 with SMTP id 98e67ed59e1d1-395a05f2a2fmr4888764a91.5.1787212300631; Thu, 20 Aug 2026 00:51:40 -0700 (PDT) Received: from PC-2B0BA31200898.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395ada67783sm455429a91.3.2026.08.20.00.51.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 00:51:39 -0700 (PDT) From: Meijing Zhao To: Mike Rapoport , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wandun Chen , Meijing Zhao Subject: [PATCH v2 3/3] mm: memblock: synchronize debugfs reads with memory hotplug Date: Thu, 20 Aug 2026 15:51:22 +0800 Message-Id: <20260820075122.3294367-4-zhaomeijing100@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260820075122.3294367-1-zhaomeijing100@gmail.com> References: <20260820075122.3294367-1-zhaomeijing100@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Meijing Zhao memblock_debug_show() walks a memblock region array without synchronization. With CONFIG_ARCH_KEEP_MEMBLOCK, memory hotplug can concurrently add a region. If the array has to grow, memblock_double_array() replaces type->regions and frees the old allocation while the debugfs reader may still be using it. Hold mem_hotplug_lock in read mode while producing the debugfs output. Memory hotplug updates already hold the write side of this lock, so the region array remains stable throughout the walk. The helpers are no-ops when CONFIG_MEMORY_HOTPLUG is disabled. Fixes: f9126ab9241f ("memory-hotplug: fix wrong edge when hot add a new nod= e") Signed-off-by: Meijing Zhao --- mm/memblock.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/memblock.c b/mm/memblock.c index 7eddcc412618..620a5dd7f5f8 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -2916,6 +2917,7 @@ static int memblock_debug_show(struct seq_file *m, vo= id *private) phys_addr_t end; bool first; =20 + get_online_mems(); for (i =3D 0; i < type->cnt; i++) { reg =3D &type->regions[i]; end =3D reg->base + reg->size - 1; @@ -2944,6 +2946,7 @@ static int memblock_debug_show(struct seq_file *m, vo= id *private) seq_puts(m, "NONE\n"); } } + put_online_mems(); return 0; } DEFINE_SHOW_ATTRIBUTE(memblock_debug); --=20 2.25.1