diff options
| author | Herbert Xu <herbert@gondor.apana.org.au> | 2025-05-05 13:25:15 +0800 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2025-05-05 13:25:15 +0800 |
| commit | fba4aafaba8a6ca2bb42e854c37ff9a685ddfd71 (patch) | |
| tree | 4ba74ac925fc7d7b131fa54239b43c00a42a3429 /mm/memblock.c | |
| parent | 5b39aa368bcfe193666ad4a68ef55f41dfd74028 (diff) | |
| parent | 92a09c47464d040866cf2b4cd052bc60555185fb (diff) | |
| download | net-fba4aafaba8a6ca2bb42e854c37ff9a685ddfd71.tar.gz | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux v6.15-rc5
Merge mainline to pick up bcachefs poly1305 patch 4bf4b5046de0
("bcachefs: use library APIs for ChaCha20 and Poly1305"). This
is a prerequisite for removing the poly1305 shash algorithm.
Diffstat (limited to 'mm/memblock.c')
| -rw-r--r-- | mm/memblock.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/mm/memblock.c b/mm/memblock.c index 0a53db4d9f7beb..d3509414b8c3a1 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2183,11 +2183,14 @@ static void __init memmap_init_reserved_pages(void) struct memblock_region *region; phys_addr_t start, end; int nid; + unsigned long max_reserved; /* * set nid on all reserved pages and also treat struct * pages for the NOMAP regions as PageReserved */ +repeat: + max_reserved = memblock.reserved.max; for_each_mem_region(region) { nid = memblock_get_region_node(region); start = region->base; @@ -2196,8 +2199,15 @@ 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); } + /* + * 'max' is changed means memblock.reserved has been doubled its + * array, which may result a new reserved region before current + * 'start'. Now we should repeat the procedure to set its node id. + */ + if (max_reserved != memblock.reserved.max) + goto repeat; /* * initialize struct pages for reserved regions that don't have |
