riscv: Check if the code to patch lies in the exit section
authorAlexandre Ghiti <alexghiti@rivosinc.com>
Thu, 14 Dec 2023 09:19:26 +0000 (10:19 +0100)
committerPalmer Dabbelt <palmer@rivosinc.com>
Tue, 9 Jan 2024 18:58:59 +0000 (10:58 -0800)
commit420370f3ae3d3b883813fd3051a38805160b2b9f
tree637445e78c14c045aa880edaf6c8994b7e8540e8
parented5b7cfd7839f9280a63365c1133482b42d0981f
riscv: Check if the code to patch lies in the exit section

Otherwise we fall through to vmalloc_to_page() which panics since the
address does not lie in the vmalloc region.

Fixes: 043cb41a85de ("riscv: introduce interfaces to patch kernel code")
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20231214091926.203439-1-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/sections.h
arch/riscv/kernel/patch.c
arch/riscv/kernel/vmlinux-xip.lds.S
arch/riscv/kernel/vmlinux.lds.S