From: Seung-Woo Kim Date: Thu, 7 Jan 2021 09:09:20 +0000 (+0900) Subject: ARM: mm: Free memblock from free_initrd_mem() X-Git-Tag: accepted/tizen/unified/20210330.111217~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33bcf892d8591dc28afc27269a375c3fecb7990e;p=platform%2Fkernel%2Flinux-rpi.git ARM: mm: Free memblock from free_initrd_mem() Even after free_initrd_mem(), memblock for initrd remains. Free memblock for initrd from free_initrd_mem(). Reported-by: Jaehoon Chung Signed-off-by: Seung-Woo Kim [sw0312.kim: port mainline posted patch to 5.4.y] Signed-off-by: Seung-Woo Kim Change-Id: I42a7461558868cdfdc559959112c81bc4c8b10c5 --- diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index c23dbf8..7df2e1c 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -609,6 +609,12 @@ void free_initmem(void) #ifdef CONFIG_BLK_DEV_INITRD void free_initrd_mem(unsigned long start, unsigned long end) { + unsigned long aligned_start, aligned_end; + + aligned_start = __virt_to_phys(start) & PAGE_MASK; + aligned_end = PAGE_ALIGN(__virt_to_phys(end)); + memblock_free(aligned_start, aligned_end - aligned_start); + if (start == initrd_start) start = round_down(start, PAGE_SIZE); if (end == initrd_end)