When we failed to modify breakpoint, we ended up with
disabled event. Mirror that in its 'attr.disabled',
because some parts of the ptrace code depends on it.

Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Jiri Olsa <[email protected]>
---
 kernel/events/hw_breakpoint.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/events/hw_breakpoint.c b/kernel/events/hw_breakpoint.c
index 3e560d7609fd..eff7ab716139 100644
--- a/kernel/events/hw_breakpoint.c
+++ b/kernel/events/hw_breakpoint.c
@@ -523,8 +523,10 @@ int modify_user_hw_breakpoint(struct perf_event *bp, 
struct perf_event_attr *att
                perf_event_disable(bp);
 
        err = modify_user_hw_breakpoint_check(bp, attr, false);
-       if (err)
+       if (err) {
+               bp->attr.disabled = 1;
                return err;
+       }
 
        if (!attr->disabled)
                perf_event_enable(bp);
-- 
2.17.1

Reply via email to