From: Vincent Chen Date: Tue, 5 Mar 2019 03:23:35 +0000 (+0800) Subject: riscv: Support BUG() in kernel module X-Git-Tag: v5.15~6313^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9a6e7af02f7fcc8c68e9d6ce167ee6ab0052cb60;p=platform%2Fkernel%2Flinux-starfive.git riscv: Support BUG() in kernel module The kernel module is loaded into vmalloc region which is located below to the PAGE_OFFSET. Hence the condition, pc < PAGE_OFFSET, in the is_valid_bugaddr() will filter out all trap exceptions triggered by kernel module. To support BUG() in kernel module, the condition is changed to pc < VMALLOC_START. Signed-off-by: Vincent Chen Signed-off-by: Christoph Hellwig Signed-off-by: Palmer Dabbelt --- diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c index c34cc54..3d1a651 100644 --- a/arch/riscv/kernel/traps.c +++ b/arch/riscv/kernel/traps.c @@ -156,7 +156,7 @@ int is_valid_bugaddr(unsigned long pc) { bug_insn_t insn; - if (pc < PAGE_OFFSET) + if (pc < VMALLOC_START) return 0; if (probe_kernel_address((bug_insn_t *)pc, insn)) return 0;