diff mbox series

selftests: breakpoints: Fix wrong argument of ptrace() when single step

Message ID 1612341547-22225-1-git-send-email-yangtiezhu@loongson.cn (mailing list archive)
State New
Headers show
Series selftests: breakpoints: Fix wrong argument of ptrace() when single step | expand

Commit Message

Tiezhu Yang Feb. 3, 2021, 8:39 a.m. UTC
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@loongson.cn>
---
 tools/testing/selftests/breakpoints/breakpoint_test_arm64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Shuah Khan Feb. 3, 2021, 6:30 p.m. UTC | #1
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@loongson.cn>
> ---
>   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?

thanks,
-- Shuah
Tiezhu Yang Feb. 4, 2021, 2:36 a.m. UTC | #2
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@loongson.cn>
>> ---
>>   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
diff mbox series

Patch

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));