[PATCH v2 RESEND 0/3] mm: memblock: fix debugfs flag reporting and synchronization
Meijing Zhao <[email protected]>
| Newsgroups | org.kvack.linux-mm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Meijing Zhao <[email protected]> The memblock debugfs interface has two issues when reporting region flags. MEMBLOCK_RSRV_HUGETLB has no corresponding name, and regions with multiple flags only show the lowest set bit. In addition, memblock_debug_show() walks the region arrays without synchronizing against memory hotplug. If memory hotplug grows an array, the debugfs reader may continue accessing the old array after it has been freed. Add the missing HugeTLB flag name, report every set bit including those beyond flagname[], and hold the memory hotplug read lock while walking the arrays. With the series applied, a HugeTLB bootmem reservation is reported as: RSV_KERN|RSV_HUGETLB RESEND: - Regenerate the series from the same clean base as v1. The previous v2 was inadvertently generated with an unrelated MEMBLOCK_NODUMP change in the patch context, causing apply failures. No code changes. Changes in v2: - Report set bits beyond flagname[] as UNKNOWN instead of ignoring them. - Add a separate patch to synchronize debugfs reads with memory hotplug. v1: https://lore.kernel.org/linux-mm/[email protected]/ Meijing Zhao (3): mm: memblock: add missing HugeTLB flag name mm: memblock: show all region flags in debugfs mm: memblock: synchronize debugfs reads with memory hotplug mm/memblock.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) -- 2.25.1