diff options
author | 2022-03-14 19:15:16 -0300 | |
---|---|---|
committer | 2022-03-14 19:15:16 -0300 | |
commit | 65eab2bc7dab326ee892ec5a4c749470b368b51a (patch) | |
tree | 341189a55a3d021db7f1c8a8e5b4772b6c782c25 /mm/memblock.c | |
parent | perf tools: Set build-id using build-id header on new mmap records (diff) | |
parent | Linux 5.17-rc8 (diff) | |
download | linux-dev-65eab2bc7dab326ee892ec5a4c749470b368b51a.tar.xz linux-dev-65eab2bc7dab326ee892ec5a4c749470b368b51a.zip |
Merge remote-tracking branch 'torvalds/master' into perf/core
To pick up fixes that went thru perf/urgent.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'mm/memblock.c')
-rw-r--r-- | mm/memblock.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mm/memblock.c b/mm/memblock.c index 1018e50566f3..b12a364f2766 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -366,14 +366,20 @@ void __init memblock_discard(void) addr = __pa(memblock.reserved.regions); size = PAGE_ALIGN(sizeof(struct memblock_region) * memblock.reserved.max); - memblock_free_late(addr, size); + if (memblock_reserved_in_slab) + kfree(memblock.reserved.regions); + else + memblock_free_late(addr, size); } if (memblock.memory.regions != memblock_memory_init_regions) { addr = __pa(memblock.memory.regions); size = PAGE_ALIGN(sizeof(struct memblock_region) * memblock.memory.max); - memblock_free_late(addr, size); + if (memblock_memory_in_slab) + kfree(memblock.memory.regions); + else + memblock_free_late(addr, size); } memblock_memory = NULL; |