Patch "perf/hwbp: Simplify the perf-hwbp code, fix documentation" has been added to the 4.14-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
perf/hwbp: Simplify the perf-hwbp code, fix documentation
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
perf-hwbp-simplify-the-perf-hwbp-code-fix-documentation.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f67b15037a7a50c57f72e69a6d59941ad90a0f0fMon Sep 17 00:00:00 2001
From: Linus Torvalds <[email protected]>
Date: Mon, 26 Mar 2018 15:39:07 -1000
Subject: perf/hwbp: Simplify the perf-hwbp code, fix documentation
From: Linus Torvalds <[email protected]>
commit f67b15037a7a50c57f72e69a6d59941ad90a0f0f upstream.
Annoyingly, modify_user_hw_breakpoint() unnecessarily complicates the modification of a breakpoint - simplify it and remove the pointless local variables.
Also update the stale Docbook while at it.
--- kernel/events/hw_breakpoint.c | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-)
kernel/events/hw_breakpoint.c +7 -23
@@ -427,16 +427,9 @@ EXPORT_SYMBOL_GPL(register_user_hw_break* 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) { -u64 old_addr = bp->attr.bp_addr; -u64 old_len = bp->attr.bp_len; -int old_type = bp->attr.bp_type; -int err =0 ; -/* * 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.
@@ -451,27 +444,18 @@ int modify_user_hw_breakpoint(struct per bp->attr.bp_addr = attr->bp_addr; bp->attr.bp_type = attr->bp_type; bp->attr.bp_len = attr->bp_len; + bp->attr.disabled =1 ; -if (attr->disabled) - goto end; - - err =validate_hw_breakpoint (bp); -if (!err) -perf_event_enable (bp); +if (!attr->disabled) { +int err =validate_hw_breakpoint (bp); -if (err) { - bp->attr.bp_addr = old_addr; - bp->attr.bp_type = old_type; - bp->attr.bp_len = old_len; -if (!bp->attr.disabled) -perf_event_enable (bp); +if (err) +return err; -return err; +perf_event_enable (bp); + bp->attr.disabled =0 ; } -end: - bp->attr.disabled = attr->disabled; -return 0 ; }EXPORT_SYMBOL_GPL (modify_user_hw_breakpoint);
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/perf-hwbp-simplify-the-perf-hwbp-code-fix-documentation.patch queue-4.14/ipc-shm.c-add-split-function-to-shm_vm_ops.patch