+11
−10
Loading
Similarly to commit 8d09e2d5 ("arm64: patching: avoid early page_to_phys()"), avoid using phys_to_page() for the kernel address case in patch_map(). Since this is called from apply_boot_alternatives() in setup_arch(), and commit 4267739c ("arch, mm: consolidate initialization of SPARSE memory model") has moved sparse_init() to after setup_arch(), phys_to_page() is not available there yet, and it panics on boot with SPARSEMEM on RV32, which does not use SPARSEMEM_VMEMMAP. Reported-by:Thomas Weißschuh <thomas.weissschuh@linutronix.de> Closes: https://lore.kernel.org/r/20260223144108-dcace0b9-02e8-4b67-a7ce-f263bed36f26@linutronix.de/ Fixes: 4267739c ("arch, mm: consolidate initialization of SPARSE memory model") Suggested-by:
Mike Rapoport <rppt@kernel.org> Signed-off-by:
Vivian Wang <wangruikang@iscas.ac.cn> Acked-by:
Mike Rapoport (Microsoft) <rppt@kernel.org> Tested-by:
Thomas Weißschuh <thomas.weissschuh@linutronix.de> Link: https://patch.msgid.link/20260310-riscv-sparsemem-alternatives-fix-v1-1-659d5dd257e2@iscas.ac.cn [pjw@kernel.org: fix the subject line to align with the patch description] Signed-off-by:
Paul Walmsley <pjw@kernel.org>