From: Wang Xu <wangx...@huawei.com> In perf_event_alloc(), event->overflow_handler is initialized to a non-null value, which makes enable_single_step(bp, addr) in breakpoint_handler() never be executed.
As a matter of fact, the branch condition has been updated to is_default_overflow_handler(). Signed-off-by: Wang Xu <wangx...@huawei.com> --- arch/arm/kernel/hw_breakpoint.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/kernel/hw_breakpoint.c b/arch/arm/kernel/hw_breakpoint.c index b0c195e..586a587 100644 --- a/arch/arm/kernel/hw_breakpoint.c +++ b/arch/arm/kernel/hw_breakpoint.c @@ -822,7 +822,7 @@ static void breakpoint_handler(unsigned long unknown, struct pt_regs *regs) info->trigger = addr; pr_debug("breakpoint fired: address = 0x%x\n", addr); perf_bp_event(bp, regs); - if (!bp->overflow_handler) + if (is_default_overflow_handler(bp)) enable_single_step(bp, addr); goto unlock; } -- 1.8.5.6