Skip to content

Commit a7d270d

Browse files
committed
riscv: mm: init: Pass a pointer to virt_to_page()
Functions that work on a pointer to virtual memory such as virt_to_pfn() and users of that function such as virt_to_page() are supposed to pass a pointer to virtual memory, ideally a (void *) or other pointer. However since many architectures implement virt_to_pfn() as a macro, this function becomes polymorphic and accepts both a (unsigned long) and a (void *). Fix this in the RISCV mm init code, so we can implement a strongly typed virt_to_pfn(). Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 parent c809202 commit a7d270d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

arch/riscv/mm/init.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ static phys_addr_t __init alloc_pte_late(uintptr_t va)
356356
unsigned long vaddr;
357357

358358
vaddr = __get_free_page(GFP_KERNEL);
359-
BUG_ON(!vaddr || !pgtable_pte_page_ctor(virt_to_page(vaddr)));
359+
BUG_ON(!vaddr || !pgtable_pte_page_ctor(virt_to_page((void *)vaddr)));
360360

361361
return __pa(vaddr);
362362
}
@@ -439,7 +439,7 @@ static phys_addr_t __init alloc_pmd_late(uintptr_t va)
439439
unsigned long vaddr;
440440

441441
vaddr = __get_free_page(GFP_KERNEL);
442-
BUG_ON(!vaddr || !pgtable_pmd_page_ctor(virt_to_page(vaddr)));
442+
BUG_ON(!vaddr || !pgtable_pmd_page_ctor(virt_to_page((void *)vaddr)));
443443

444444
return __pa(vaddr);
445445
}

0 commit comments

Comments
 (0)