FAILED: patch "[PATCH] memblock: use kfree() to release kmalloced memblock regions" failed to apply to 5.4-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From c94afc46cae7ad41b2ad6a99368147879f4b0e56 Mon Sep 17 00:00:00 2001
From: Miaohe Lin <[email protected]>
Date: Thu, 17 Feb 2022 22:53:27 +0800
Subject: [PATCH] memblock: use kfree() to release kmalloced memblock regions
memblock.{reserved,memory}.regions may be allocated using kmalloc() in memblock_double_array(). Use kfree() to release these kmalloced regions indicated by memblock_{reserved,memory}_in_slab.
Signed-off-by Miaohe Lin <[email protected]>
Fixes 3010f876500f ("mm: discard memblock data later")
Signed-off-by Mike Rapoport <[email protected]>
mm/memblock.c +8 -2
@@ -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 ;