From: Greg Kroah-Hartman Date: Mon, 28 Feb 2022 11:13:11 +0000 (+0100) Subject: 5.10-stable patches X-Git-Tag: v4.9.304~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53a0bfad2d4646c2eb62200b5f859002ca2fb3ce;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: memblock-use-kfree-to-release-kmalloced-memblock-regions.patch --- diff --git a/queue-5.10/memblock-use-kfree-to-release-kmalloced-memblock-regions.patch b/queue-5.10/memblock-use-kfree-to-release-kmalloced-memblock-regions.patch new file mode 100644 index 00000000000..dbaf0c4fada --- /dev/null +++ b/queue-5.10/memblock-use-kfree-to-release-kmalloced-memblock-regions.patch @@ -0,0 +1,46 @@ +From c94afc46cae7ad41b2ad6a99368147879f4b0e56 Mon Sep 17 00:00:00 2001 +From: Miaohe Lin +Date: Thu, 17 Feb 2022 22:53:27 +0800 +Subject: memblock: use kfree() to release kmalloced memblock regions + +From: Miaohe Lin + +commit c94afc46cae7ad41b2ad6a99368147879f4b0e56 upstream. + +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 +Fixes: 3010f876500f ("mm: discard memblock data later") +Signed-off-by: Mike Rapoport +Signed-off-by: Greg Kroah-Hartman +--- + mm/memblock.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- 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; diff --git a/queue-5.10/series b/queue-5.10/series index f0bb37c2347..a30cd870cb3 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -77,3 +77,4 @@ tty-n_gsm-fix-null-pointer-access-due-to-dlci-release.patch tty-n_gsm-fix-wrong-tty-control-line-for-flow-control.patch tty-n_gsm-fix-deadlock-in-gsmtty_open.patch gpio-tegra186-fix-chip_data-type-confusion.patch +memblock-use-kfree-to-release-kmalloced-memblock-regions.patch