Re: [GIT PULL] breakpoint: Rework arch validation v3
From: Ingo Molnar
Date: Thu Jun 21 2018 - 09:37:54 EST
* Frederic Weisbecker <frederic@xxxxxxxxxx> wrote:
> Ingo,
>
> Please pull the perf/breakpoint-v3 branch that can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> perf/breakpoint-v3
>
> HEAD: 3c0681cc01b39e7fac6eb810e82380165c9b56f1
>
> Changes since v2:
>
> * Constify the struct perf_event_attr passed in hw_breakpoint_parse()
> * Add acks
>
> ---
> When we modify a hardware breakpoint, the architecture code fills up
> the architecture data as the validation of generic attributes progresses.
> If something goes wrong in the middle, the architecture data changes
> aren't rolled back and we are left with a halfway fiddled breakpoint.
>
> This set fixes the various misdesigns that back this bad behaviour.
>
> Thanks,
> Frederic
> ---
>
> Frederic Weisbecker (12):
> perf/breakpoint: Split attribute parse and commit
> perf/breakpoint: Pass arch breakpoint struct to arch_check_bp_in_kernelspace()
> x86: Implement hw_breakpoint_arch_parse()
> powerpc: Implement hw_breakpoint_arch_parse()
> arm: Implement hw_breakpoint_arch_parse()
> arm64: Implement hw_breakpoint_arch_parse()
> sh: Remove "struct arch_hw_breakpoint::name" unused field
> sh: Implement hw_breakpoint_arch_parse()
> xtensa: Implement hw_breakpoint_arch_parse()
> perf/breakpoint: Remove default hw_breakpoint_arch_parse()
> perf/breakpoint: Pass new breakpoint type to modify_breakpoint_slot()
> perf/breakpoint: Clean up and consolidate modify_user_hw_breakpoint_check()
>
>
> arch/arm/include/asm/hw_breakpoint.h | 7 +-
> arch/arm/kernel/hw_breakpoint.c | 78 +++++++++---------
> arch/arm64/include/asm/hw_breakpoint.h | 7 +-
> arch/arm64/kernel/hw_breakpoint.c | 86 ++++++++++----------
> arch/powerpc/include/asm/hw_breakpoint.h | 7 +-
> arch/powerpc/kernel/hw_breakpoint.c | 47 ++++++-----
> arch/sh/include/asm/hw_breakpoint.h | 8 +-
> arch/sh/kernel/hw_breakpoint.c | 53 ++++++-------
> arch/x86/include/asm/hw_breakpoint.h | 7 +-
> arch/x86/kernel/hw_breakpoint.c | 131 ++++++++++++++++---------------
> arch/xtensa/include/asm/hw_breakpoint.h | 7 +-
> arch/xtensa/kernel/hw_breakpoint.c | 40 ++++------
> kernel/events/hw_breakpoint.c | 92 +++++++++++++---------
> 13 files changed, 294 insertions(+), 276 deletions(-)
Ok, this looks pretty good.
I was trying to apply this series today, but got a few conflicts due to new
changes in the merge window, in:
arch/sh/kernel/hw_breakpoint.c
arch/powerpc/kernel/hw_breakpoint.c
Could you please resolve those conflicts and resend the series?
Thanks!
Ingo