• Ravi Bangoria's avatar
    selftests/powerpc: Rewrite ptrace-hwbreak.c selftest · c2837acf
    Ravi Bangoria authored
    ptrace-hwbreak.c selftest is logically broken. On powerpc, when
    watchpoint is created with ptrace, signals are generated before
    executing the instruction and user has to manually singlestep the
    instruction with watchpoint disabled, which selftest never does and
    thus it keeps on getting the signal at the same instruction. If we fix
    it, selftest fails because the logical connection between
    tracer(parent) and tracee(child) is also broken. Rewrite the selftest
    and add new tests for unaligned access.
    
    With patch:
      $ ./tools/testing/selftests/powerpc/ptrace/ptrace-hwbreak
      test: ptrace-hwbreak
      tags: git_version:powerpc-5.3-4-224-g218b868240c7-dirty
      PTRACE_SET_DEBUGREG, WO, len: 1: Ok
      PTRACE_SET_DEBUGREG, WO, len: 2: Ok
      PTRACE_SET_DEBUGREG, WO, len: 4: Ok
      PTRACE_SET_DEBUGREG, WO, len: 8: Ok
      PTRACE_SET_DEBUGREG, RO, len: 1: Ok
      PTRACE_SET_DEBUGREG, RO, len: 2: Ok
      PTRACE_SET_DEBUGREG, RO, len: 4: Ok
      PTRACE_SET_DEBUGREG, RO, len: 8: Ok
      PTRACE_SET_DEBUGREG, RW, len: 1: Ok
      PTRACE_SET_DEBUGREG, RW, len: 2: Ok
      PTRACE_SET_DEBUGREG, RW, len: 4: Ok
      PTRACE_SET_DEBUGREG, RW, len: 8: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_EXACT, WO, len: 1: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RO, len: 1: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_EXACT, RW, len: 1: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW ALIGNED, WO, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW ALIGNED, RO, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW ALIGNED, RW, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, WO, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, RO, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, RW, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, DAR OUTSIDE, RW, len: 6: Ok
      PPC_PTRACE_SETHWDEBUG, DAWR_MAX_LEN, RW, len: 512: Ok
      success: ptrace-hwbreak
    Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20191017093204.7511-6-ravi.bangoria@linux.ibm.com
    c2837acf
ptrace-hwbreak.c 12.9 KB