提交 ab6211c9 编写于 作者: W Will Deacon

arm64: debug: Clean up brk_handler()

brk_handler() now looks pretty strange and can be refactored to drop its
funny 'handler_found' local variable altogether.
Reviewed-by: NMark Rutland <mark.rutland@arm.com>
Signed-off-by: NWill Deacon <will.deacon@arm.com>
上级 453b7740
...@@ -331,14 +331,12 @@ NOKPROBE_SYMBOL(call_break_hook); ...@@ -331,14 +331,12 @@ NOKPROBE_SYMBOL(call_break_hook);
static int brk_handler(unsigned long unused, unsigned int esr, static int brk_handler(unsigned long unused, unsigned int esr,
struct pt_regs *regs) struct pt_regs *regs)
{ {
bool handler_found = false; if (call_break_hook(regs, esr) == DBG_HOOK_HANDLED)
return 0;
if (!handler_found && call_break_hook(regs, esr) == DBG_HOOK_HANDLED)
handler_found = true;
if (!handler_found && user_mode(regs)) { if (user_mode(regs)) {
send_user_sigtrap(TRAP_BRKPT); send_user_sigtrap(TRAP_BRKPT);
} else if (!handler_found) { } else {
pr_warn("Unexpected kernel BRK exception at EL1\n"); pr_warn("Unexpected kernel BRK exception at EL1\n");
return -EFAULT; return -EFAULT;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
新手
引导
客服 返回
顶部