diff mbox series

selftests: arm64: Fix redundancy of a testcase

Message ID 20240605115448.640717-1-dev.jain@arm.com (mailing list archive)
State New
Headers show
Series selftests: arm64: Fix redundancy of a testcase | expand

Commit Message

Dev Jain June 5, 2024, 11:54 a.m. UTC
Currently, we are writing the same value as we read, into the TLS
register; hence, we cannot confirm updation of the register, making the
testcase "verify_tpidr_one" redundant. Fix this; while at it, do a style
change.

Signed-off-by: Dev Jain <dev.jain@arm.com>
---
 tools/testing/selftests/arm64/abi/ptrace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Mark Brown June 5, 2024, noon UTC | #1
On Wed, Jun 05, 2024 at 05:24:48PM +0530, Dev Jain wrote:
> Currently, we are writing the same value as we read, into the TLS
> register; hence, we cannot confirm updation of the register, making the
> testcase "verify_tpidr_one" redundant. Fix this; while at it, do a style
> change.

Please don't combine unrelated changes into a single patch.

>  	/* ...write a new value.. */
>  	write_iov.iov_len = sizeof(uint64_t);
> -	write_val[0] = read_val[0]++;
> +	write_val[0] = read_val[0] + 1;
>  	ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov);
>  	ksft_test_result(ret == 0, "write_tpidr_one\n");

This is a good fix:

Reviewed-by: Mark Brown <broonie@kernel.org>

> @@ -108,7 +108,7 @@ static void test_tpidr(pid_t child)
>  		/* Writing only TPIDR... */
>  		write_iov.iov_len = sizeof(uint64_t);
>  		memcpy(write_val, read_val, sizeof(read_val));
> -		write_val[0] += 1;
> +		++write_val[0];

I'm less convinced that this is a good style change.
Dev Jain June 5, 2024, 12:26 p.m. UTC | #2
On 6/5/24 17:30, Mark Brown wrote:
> On Wed, Jun 05, 2024 at 05:24:48PM +0530, Dev Jain wrote:
>> Currently, we are writing the same value as we read, into the TLS
>> register; hence, we cannot confirm updation of the register, making the
>> testcase "verify_tpidr_one" redundant. Fix this; while at it, do a style
>> change.
> Please don't combine unrelated changes into a single patch.


I shall take care of that in the future.

>
>>   	/* ...write a new value.. */
>>   	write_iov.iov_len = sizeof(uint64_t);
>> -	write_val[0] = read_val[0]++;
>> +	write_val[0] = read_val[0] + 1;
>>   	ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov);
>>   	ksft_test_result(ret == 0, "write_tpidr_one\n");
> This is a good fix:
>
> Reviewed-by: Mark Brown <broonie@kernel.org>


Thanks!

>
>> @@ -108,7 +108,7 @@ static void test_tpidr(pid_t child)
>>   		/* Writing only TPIDR... */
>>   		write_iov.iov_len = sizeof(uint64_t);
>>   		memcpy(write_val, read_val, sizeof(read_val));
>> -		write_val[0] += 1;
>> +		++write_val[0];
> I'm less convinced that this is a good style change.


Well, what I have seen usually is, when we add 1, we

use prefix/postfix increment, and do a "+=" when it

is not 1. But, I get your point: such style may confuse

people into thinking that we are doing an index/pointer

increment, since that is the usual usecase for this.
Catalin Marinas June 12, 2024, 4:08 p.m. UTC | #3
On Wed, 05 Jun 2024 17:24:48 +0530, Dev Jain wrote:
> Currently, we are writing the same value as we read, into the TLS
> register; hence, we cannot confirm updation of the register, making the
> testcase "verify_tpidr_one" redundant. Fix this; while at it, do a style
> change.
> 
> 

Applied to arm64 (for-next/kselftest), thanks! I removed the increment
style change.

[1/1] selftests: arm64: Fix redundancy of a testcase
      https://git.kernel.org/arm64/c/031d1f20d5db
diff mbox series

Patch

diff --git a/tools/testing/selftests/arm64/abi/ptrace.c b/tools/testing/selftests/arm64/abi/ptrace.c
index abe4d58d731d..c105703442f9 100644
--- a/tools/testing/selftests/arm64/abi/ptrace.c
+++ b/tools/testing/selftests/arm64/abi/ptrace.c
@@ -47,7 +47,7 @@  static void test_tpidr(pid_t child)
 
 	/* ...write a new value.. */
 	write_iov.iov_len = sizeof(uint64_t);
-	write_val[0] = read_val[0]++;
+	write_val[0] = read_val[0] + 1;
 	ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov);
 	ksft_test_result(ret == 0, "write_tpidr_one\n");
 
@@ -108,7 +108,7 @@  static void test_tpidr(pid_t child)
 		/* Writing only TPIDR... */
 		write_iov.iov_len = sizeof(uint64_t);
 		memcpy(write_val, read_val, sizeof(read_val));
-		write_val[0] += 1;
+		++write_val[0];
 		ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov);
 
 		if (ret == 0) {