From: Chen Jiahao chenjiahao16@huawei.com
hulk inclusion category: feature bugzilla: 187058, https://gitee.com/openeuler/kernel/issues/I5ZUT5
--------------------------------
In case of debugging need when undefined instructin exception occurs, we should dump regs and the undefined instruction before BUG in kernel mode. Which is usually used to compare with objdump instructions.
Signed-off-by: Chen Jiahao chenjiahao16@huawei.com Reviewed-by: Zhang Jianhua chris.zjh@huawei.com Reviewed-by: Liao Chang liaochang1@huawei.com Signed-off-by: Zheng Zengkai zhengzengkai@huawei.com --- arch/arm64/kernel/traps.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 7c05bcf29013..f8ec533eb590 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -405,7 +405,9 @@ void do_undefinstr(struct pt_regs *regs) if (call_undef_hook(regs) == 0) return;
- BUG_ON(!user_mode(regs)); + if (!user_mode(regs)) + die("Oops - undefined instruction", regs, 0); + force_signal_inject(SIGILL, ILL_ILLOPC, regs->pc, 0); } NOKPROBE_SYMBOL(do_undefinstr);