mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
arm64: debug: clean up single_step_handler logic
Remove the unnecessary boolean which always checks if the handler was found and return early instead. Signed-off-by: Ada Couprie Diaz <ada.coupriediaz@arm.com> Tested-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20250707114109.35672-2-ada.coupriediaz@arm.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
19272b37aa
commit
ad8b22648b
|
|
@ -241,8 +241,6 @@ static void send_user_sigtrap(int si_code)
|
|||
static int single_step_handler(unsigned long unused, unsigned long esr,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
bool handler_found = false;
|
||||
|
||||
/*
|
||||
* If we are stepping a pending breakpoint, call the hw_breakpoint
|
||||
* handler first.
|
||||
|
|
@ -250,10 +248,10 @@ static int single_step_handler(unsigned long unused, unsigned long esr,
|
|||
if (!reinstall_suspended_bps(regs))
|
||||
return 0;
|
||||
|
||||
if (!handler_found && call_step_hook(regs, esr) == DBG_HOOK_HANDLED)
|
||||
handler_found = true;
|
||||
if (call_step_hook(regs, esr) == DBG_HOOK_HANDLED)
|
||||
return 0;
|
||||
|
||||
if (!handler_found && user_mode(regs)) {
|
||||
if (user_mode(regs)) {
|
||||
send_user_sigtrap(TRAP_TRACE);
|
||||
|
||||
/*
|
||||
|
|
@ -263,7 +261,7 @@ static int single_step_handler(unsigned long unused, unsigned long esr,
|
|||
* to the active-not-pending state).
|
||||
*/
|
||||
user_rewind_single_step(current);
|
||||
} else if (!handler_found) {
|
||||
} else {
|
||||
pr_warn("Unexpected kernel single-step exception at EL1\n");
|
||||
/*
|
||||
* Re-enable stepping since we know that we will be
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user