]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/memblock: pass size instead of end to memblock_set_node()
authorWei Yang <richard.weiyang@gmail.com>
Tue, 18 Mar 2025 07:19:46 +0000 (07:19 +0000)
committerMike Rapoport (Microsoft) <rppt@kernel.org>
Mon, 7 Apr 2025 06:28:01 +0000 (09:28 +0300)
The second parameter of memblock_set_node() is size instead of end.

Since it iterates from lower address to higher address, finally the node
id is correct. But during the process, some of them are wrong.

Pass size instead of end.

Fixes: 61167ad5fecd ("mm: pass nid to reserve_bootmem_region()")
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
CC: Mike Rapoport <rppt@kernel.org>
CC: Yajun Deng <yajun.deng@linux.dev>
CC: stable@vger.kernel.org
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20250318071948.23854-2-richard.weiyang@gmail.com
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
mm/memblock.c

index 0a53db4d9f7beb5e98e880dcdd72c0e063787ce4..9639f04b4fdf9f88154a7a824c12fe97dc3038e1 100644 (file)
@@ -2196,7 +2196,7 @@ static void __init memmap_init_reserved_pages(void)
                if (memblock_is_nomap(region))
                        reserve_bootmem_region(start, end, nid);
 
-               memblock_set_node(start, end, &memblock.reserved, nid);
+               memblock_set_node(start, region->size, &memblock.reserved, nid);
        }
 
        /*