From: Vishal Moola (Oracle) Date: Wed, 3 Sep 2025 18:59:18 +0000 (-0700) Subject: riscv: stop calling page_address() in free_pages() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5e8fce2016d1a863913265a9b5fcc2ecf1955067;p=users%2Fhch%2Fmisc.git riscv: stop calling page_address() in free_pages() free_pages() should be used when we only have a virtual address. We should call __free_pages() directly on our page instead. Link: https://lkml.kernel.org/r/20250903185921.1785167-5-vishal.moola@gmail.com Signed-off-by: Vishal Moola (Oracle) Acked-by: David Hildenbrand Acked-by: Alexandre Ghiti Acked-by: Mike Rapoport (Microsoft) Cc: Albert Ou Cc: Andy Lutomirski Cc: Catalin Marinas Cc: Dave Hansen Cc: Jens Axboe Cc: Justin Sanders Cc: Madhavan Srinivasan Cc: Matthew Wilcox (Oracle) Cc: Michael Ellerman Cc: "Michael S. Tsirkin" Cc: Palmer Dabbelt Cc: Paul Walmsley Cc: Peter Zijlstra Cc: Ritesh Harjani (IBM) Cc: SeongJae Park Cc: Will Deacon Signed-off-by: Andrew Morton --- diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 15683ae13fa5..1056c11d3251 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -1624,7 +1624,7 @@ static void __meminit free_pud_table(pud_t *pud_start, p4d_t *p4d) if (PageReserved(page)) free_reserved_page(page); else - free_pages((unsigned long)page_address(page), 0); + __free_pages(page, 0); p4d_clear(p4d); } @@ -1646,7 +1646,7 @@ static void __meminit free_vmemmap_storage(struct page *page, size_t size, return; } - free_pages((unsigned long)page_address(page), order); + __free_pages(page, order); } static void __meminit remove_pte_mapping(pte_t *pte_base, unsigned long addr, unsigned long end,