Rogerio Alves <rcard...@linux.ibm.com> writes: > On 9/2/20 1:29 AM, Ravi Bangoria wrote: >> Patch #1 fixes issue for quardword instruction on p10 predecessors. >> Patch #2 fixes issue for vector instructions. >> Patch #3 fixes a bug about watchpoint not firing when created with >> ptrace PPC_PTRACE_SETHWDEBUG and CONFIG_HAVE_HW_BREAKPOINT=N. >> The fix uses HW_BRK_TYPE_PRIV_ALL for ptrace user which, I >> guess, should be fine because we don't leak any kernel >> addresses and PRIV_ALL will also help to cover scenarios when >> kernel accesses user memory. >> Patch #4,#5 fixes infinite exception bug, again the bug happens only >> with CONFIG_HAVE_HW_BREAKPOINT=N. >> Patch #6 fixes two places where we are missing to set hw_len. >> Patch #7 introduce new feature bit PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 >> which will be set when running on ISA 3.1 compliant machine. >> Patch #8 finally adds selftest to test scenarios fixed by patch#2,#3 >> and also moves MODE_EXACT tests outside of BP_RANGE condition. >> >> Christophe, let me know if this series breaks something for 8xx. >> >> v5: >> https://lore.kernel.org/r/20200825043617.1073634-1-ravi.bango...@linux.ibm.com >> >> v5->v6: >> - Fix build faulure reported by kernel test robot >> - patch #5. Use more compact if condition, suggested by Christophe >> >> >> Ravi Bangoria (8): >> powerpc/watchpoint: Fix quarword instruction handling on p10 >> predecessors >> powerpc/watchpoint: Fix handling of vector instructions >> powerpc/watchpoint/ptrace: Fix SETHWDEBUG when >> CONFIG_HAVE_HW_BREAKPOINT=N >> powerpc/watchpoint: Move DAWR detection logic outside of >> hw_breakpoint.c >> powerpc/watchpoint: Fix exception handling for >> CONFIG_HAVE_HW_BREAKPOINT=N >> powerpc/watchpoint: Add hw_len wherever missing >> powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 >> powerpc/watchpoint/selftests: Tests for kernel accessing user memory >> >> Documentation/powerpc/ptrace.rst | 1 + >> arch/powerpc/include/asm/hw_breakpoint.h | 12 ++ >> arch/powerpc/include/uapi/asm/ptrace.h | 1 + >> arch/powerpc/kernel/Makefile | 3 +- >> arch/powerpc/kernel/hw_breakpoint.c | 149 +--------------- >> .../kernel/hw_breakpoint_constraints.c | 162 ++++++++++++++++++ >> arch/powerpc/kernel/process.c | 48 ++++++ >> arch/powerpc/kernel/ptrace/ptrace-noadv.c | 9 +- >> arch/powerpc/xmon/xmon.c | 1 + >> .../selftests/powerpc/ptrace/ptrace-hwbreak.c | 48 +++++- >> 10 files changed, 282 insertions(+), 152 deletions(-) >> create mode 100644 arch/powerpc/kernel/hw_breakpoint_constraints.c >> > > Tested this patch set for: > - SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N = OK > - Fix exception handling for CONFIG_HAVE_HW_BREAKPOINT=N = OK > - Check for PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 = OK > - Fix quarword instruction handling on p10 predecessors = OK > - Fix handling of vector instructions = OK > > Also tested for: > - Set second watchpoint (P10 Mambo) = OK > - Infinity loop on sc instruction = OK
Thanks. I wasn't able to pick up your Tested-by tags as I'd already applied the patches, but thanks for sending them anyway, they will live on in the mailing list archives for eternity. cheers