diff mbox series

[v2,1/3] mm/memblock: pass size instead of end to memblock_set_node()

Message ID 20250318071948.23854-2-richard.weiyang@gmail.com (mailing list archive)
State New
Headers show
Series memblock: some fix for memmap_init_reserved_pages() | expand

Commit Message

Wei Yang March 18, 2025, 7:19 a.m. UTC
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>
---
 mm/memblock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Anshuman Khandual March 18, 2025, 10:29 a.m. UTC | #1
On 3/18/25 12:49, Wei Yang wrote:
> 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.

Makes sense.

> 
> Fixes: 61167ad5fecd ("mm: pass nid to reserve_bootmem_region()")

The commit is correct here which had introduced the problem.

> 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>
> ---
>  mm/memblock.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 64ae678cd1d1..85442f1b7f14 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -2192,7 +2192,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);
>  	}
>  
>  	/*

Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
diff mbox series

Patch

diff --git a/mm/memblock.c b/mm/memblock.c
index 64ae678cd1d1..85442f1b7f14 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -2192,7 +2192,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);
 	}
 
 	/*