summaryrefslogtreecommitdiff
path: root/kernel/events
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2018-03-29 16:03:48 +0200
committerIngo Molnar <mingo@kernel.org>2018-03-29 16:03:48 +0200
commit2d074918fb1568f398777343ff9a28049fb86337 (patch)
tree84277c1471f6d575a9515d42a53345666addabc8 /kernel/events
parent78282bec4b4a02a13b87d01fbe529396d37db926 (diff)
parentf67b15037a7a50c57f72e69a6d59941ad90a0f0f (diff)
Merge branch 'perf/urgent' into perf/core
Conflicts: kernel/events/hw_breakpoint.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/events')
-rw-r--r--kernel/events/hw_breakpoint.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/kernel/events/hw_breakpoint.c b/kernel/events/hw_breakpoint.c
index 6253d5519cd8..6e28d2866be5 100644
--- a/kernel/events/hw_breakpoint.c
+++ b/kernel/events/hw_breakpoint.c
@@ -492,13 +492,9 @@ modify_user_hw_breakpoint_check(struct perf_event *bp, struct perf_event_attr *a
* modify_user_hw_breakpoint - modify a user-space hardware breakpoint
* @bp: the breakpoint structure to modify
* @attr: new breakpoint attributes
- * @triggered: callback to trigger when we hit the breakpoint
- * @tsk: pointer to 'task_struct' of the process to which the address belongs
*/
int modify_user_hw_breakpoint(struct perf_event *bp, struct perf_event_attr *attr)
{
- int err;
-
/*
* modify_user_hw_breakpoint can be invoked with IRQs disabled and hence it
* will not be possible to raise IPIs that invoke __perf_event_disable.
@@ -510,17 +506,14 @@ int modify_user_hw_breakpoint(struct perf_event *bp, struct perf_event_attr *att
else
perf_event_disable(bp);
- err = modify_user_hw_breakpoint_check(bp, attr, false);
-
- if (err) {
- if (!bp->attr.disabled)
- perf_event_enable(bp);
+ if (!attr->disabled) {
+ int err = modify_user_hw_breakpoint_check(bp, attr, false);
- return err;
- }
-
- if (!attr->disabled)
+ if (err)
+ return err;
perf_event_enable(bp);
+ bp->attr.disabled = 0;
+ }
return 0;
}
EXPORT_SYMBOL_GPL(modify_user_hw_breakpoint);