From: Ravi Bangoria <hidden> Date: 2016-11-22 09:26:14
Xmon data-breakpoint feature is broken.
Whenever there is a watchpoint match occurs, hw_breakpoint_handler will
be called by do_break via notifier chains mechanism. If watchpoint is
registered by xmon, hw_breakpoint_handler won't find any associated
perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break
also returns without notifying to xmon.
Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not
find any perf_event associated with matched watchpoint.
Signed-off-by: Ravi Bangoria <redacted>
---
arch/powerpc/kernel/hw_breakpoint.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2016-11-22 11:33:56
Ravi Bangoria [off-list ref] writes:
Xmon data-breakpoint feature is broken.
Whenever there is a watchpoint match occurs, hw_breakpoint_handler will
be called by do_break via notifier chains mechanism. If watchpoint is
registered by xmon, hw_breakpoint_handler won't find any associated
perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break
also returns without notifying to xmon.
Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not
find any perf_event associated with matched watchpoint.
.. rather than NOTIFY_STOP, which tells the core code to continue
calling the other breakpoint handlers including the xmon one.
Right?
Also any idea when we broke this?
cheers
From: Ravi Bangoria <hidden> Date: 2016-11-22 11:50:51
Thanks Michael,
On Tuesday 22 November 2016 05:03 PM, Michael Ellerman wrote:
Ravi Bangoria [off-list ref] writes:
quoted
Xmon data-breakpoint feature is broken.
Whenever there is a watchpoint match occurs, hw_breakpoint_handler will
be called by do_break via notifier chains mechanism. If watchpoint is
registered by xmon, hw_breakpoint_handler won't find any associated
perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break
also returns without notifying to xmon.
Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not
find any perf_event associated with matched watchpoint.
.. rather than NOTIFY_STOP, which tells the core code to continue
calling the other breakpoint handlers including the xmon one.
Right?
Yes.
Also any idea when we broke this?
Hmm, not sure exactly. The code is same since it was merged in 2010 when
support for hw_breakpoint was added for server processor.
-Ravi
From: Ravi Bangoria <hidden> Date: 2017-02-14 08:47:37
Hi Michael,
Can you please pull this patch.
Thanks,
Ravi
On Tuesday 22 November 2016 02:55 PM, Ravi Bangoria wrote:
quoted hunk
Xmon data-breakpoint feature is broken.
Whenever there is a watchpoint match occurs, hw_breakpoint_handler will
be called by do_break via notifier chains mechanism. If watchpoint is
registered by xmon, hw_breakpoint_handler won't find any associated
perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break
also returns without notifying to xmon.
Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not
find any perf_event associated with matched watchpoint.
Signed-off-by: Ravi Bangoria <redacted>
---
arch/powerpc/kernel/hw_breakpoint.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
From: Michael Ellerman <hidden> Date: 2017-02-16 05:59:48
On Tue, 2016-11-22 at 09:25:59 UTC, Ravi Bangoria wrote:
Xmon data-breakpoint feature is broken.
Whenever there is a watchpoint match occurs, hw_breakpoint_handler will
be called by do_break via notifier chains mechanism. If watchpoint is
registered by xmon, hw_breakpoint_handler won't find any associated
perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break
also returns without notifying to xmon.
Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not
find any perf_event associated with matched watchpoint.
Signed-off-by: Ravi Bangoria <redacted>