Re: [PATCH] selftests: breakpoints: Fix wrong argument of ptrace() when single step

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/04/2021 02:30 AM, Shuah Khan wrote:
On 2/3/21 1:39 AM, Tiezhu Yang wrote:
According to the error message, the first argument of ptrace() should be
PTRACE_SINGLESTEP instead of PTRACE_CONT when ptrace single step.

Fixes: f43365ee17f8 ("selftests: arm64: add test for unaligned/inexact watchpoint handling")
Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
---
  tools/testing/selftests/breakpoints/breakpoint_test_arm64.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c b/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
index ad41ea6..2f4d4d6 100644
--- a/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
+++ b/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
@@ -143,7 +143,7 @@ static bool run_test(int wr_size, int wp_size, int wr, int wp)
      if (!set_watchpoint(pid, wp_size, wp))
          return false;
  -    if (ptrace(PTRACE_CONT, pid, NULL, NULL) < 0) {
+    if (ptrace(PTRACE_SINGLESTEP, pid, NULL, NULL) < 0) {
          ksft_print_msg(
              "ptrace(PTRACE_SINGLESTEP) failed: %s\n",
              strerror(errno));


Right before this it does a set_watchpoint(). PTRACE_CONT is what
makes sense to me. Error might be the one that is incorrect here?

What do you think the following change? If it is OK, I will send v2 soon.

diff --git a/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c b/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
index ad41ea6..e704181 100644
--- a/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
+++ b/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
@@ -145,7 +145,7 @@ static bool run_test(int wr_size, int wp_size, int wr, int wp)

        if (ptrace(PTRACE_CONT, pid, NULL, NULL) < 0) {
                ksft_print_msg(
-                       "ptrace(PTRACE_SINGLESTEP) failed: %s\n",
+                       "ptrace(PTRACE_CONT) failed: %s\n",
                        strerror(errno));
                return false;
        }
@@ -159,7 +159,7 @@ static bool run_test(int wr_size, int wp_size, int wr, int wp)
        }
        alarm(0);
        if (WIFEXITED(status)) {
-               ksft_print_msg("child did not single-step\n");
+               ksft_print_msg("child exited prematurely\n");
                return false;
        }
        if (!WIFSTOPPED(status)) {

Thanks,
Tiezhu


thanks,
-- Shuah




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux