Messages in this thread Patch in this message | | | From | Vincent Chen <> | Subject | [PATCH v2 3/3] riscv: Support BUG() in kernel module | Date | Tue, 5 Mar 2019 11:23:35 +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 0cd0137..9551388 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; -- 1.7.1
| |