Messages in this thread Patch in this message | | | From | Vincent Chen <> | Subject | [PATCH 2/3] riscv: Support BUG() in kernel module | Date | Thu, 28 Feb 2019 18:31:30 +0800 |
| |
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 <vincentc@andestech.com> --- arch/riscv/kernel/traps.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c index deae0e5..dee0e5e 100644 --- a/arch/riscv/kernel/traps.c +++ b/arch/riscv/kernel/traps.c @@ -144,7 +144,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; -- 1.7.1
| |