Commit 9a6e7af0 authored by Vincent Chen's avatar Vincent Chen Committed by Palmer Dabbelt

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: default avatarVincent Chen <vincentc@andestech.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
parent ee72e0e7
...@@ -156,7 +156,7 @@ int is_valid_bugaddr(unsigned long pc) ...@@ -156,7 +156,7 @@ int is_valid_bugaddr(unsigned long pc)
{ {
bug_insn_t insn; bug_insn_t insn;
if (pc < PAGE_OFFSET) if (pc < VMALLOC_START)
return 0; return 0;
if (probe_kernel_address((bug_insn_t *)pc, insn)) if (probe_kernel_address((bug_insn_t *)pc, insn))
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment