On Tue, Mar 18, 2025 at 04:25:23PM +0530, Anshuman Khandual wrote:
On 3/18/25 12:49, Wei Yang wrote:
Commit 61167ad5fecd ("mm: pass nid to reserve_bootmem_region()") introduce a way to set nid to all reserved region.
But there is a corner case it will leave some region with invalid nid. When memblock_set_node() doubles the array of memblock.reserved, it may lead to a new reserved region before current position. The new region will be left with an invalid node id.
But is it really possible for the memblock array to double during memmap_init_reserved_pages() ? Just wondering - could you please give some example scenarios.
The possibility is low, but I think it is possible.
I have created a test case to reproduce it. Not sure it could explain ?