diff mbox series

[2/3] selftests: cachestat: use proper syscall number macro

Message ID 20230815155612.2535947-3-andre.przywara@arm.com (mailing list archive)
State Accepted
Headers show
Series selftests: cachestat: fix build and run on older kernels | expand

Commit Message

Andre Przywara Aug. 15, 2023, 3:56 p.m. UTC
At the moment the cachestat syscall number is hard coded into the test
source code.
Remove that and replace it with the proper __NR_cachestat macro.
That ensures compatibility should other architectures pick a different
number.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 tools/testing/selftests/cachestat/test_cachestat.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Nhat Pham Aug. 15, 2023, 6:09 p.m. UTC | #1
On Tue, Aug 15, 2023 at 8:56 AM Andre Przywara <andre.przywara@arm.com> wrote:
>
> At the moment the cachestat syscall number is hard coded into the test
> source code.
> Remove that and replace it with the proper __NR_cachestat macro.
> That ensures compatibility should other architectures pick a different
> number.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>  tools/testing/selftests/cachestat/test_cachestat.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/cachestat/test_cachestat.c b/tools/testing/selftests/cachestat/test_cachestat.c
> index 54d09b820ed4b..a5a4ac8dcb76c 100644
> --- a/tools/testing/selftests/cachestat/test_cachestat.c
> +++ b/tools/testing/selftests/cachestat/test_cachestat.c
> @@ -19,7 +19,6 @@ static const char * const dev_files[] = {
>         "/dev/zero", "/dev/null", "/dev/urandom",
>         "/proc/version", "/proc"
>  };
> -static const int cachestat_nr = 451;
>
>  void print_cachestat(struct cachestat *cs)
>  {
> @@ -126,7 +125,7 @@ bool test_cachestat(const char *filename, bool write_random, bool create,
>                 }
>         }
>
> -       syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
> +       syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
>
>         ksft_print_msg("Cachestat call returned %ld\n", syscall_ret);
>
> @@ -152,7 +151,7 @@ bool test_cachestat(const char *filename, bool write_random, bool create,
>                         ksft_print_msg("fsync fails.\n");
>                         ret = false;
>                 } else {
> -                       syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
> +                       syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
>
>                         ksft_print_msg("Cachestat call (after fsync) returned %ld\n",
>                                 syscall_ret);
> @@ -213,7 +212,7 @@ bool test_cachestat_shmem(void)
>                 goto close_fd;
>         }
>
> -       syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
> +       syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
>
>         if (syscall_ret) {
>                 ksft_print_msg("Cachestat returned non-zero.\n");
> --
> 2.25.1
>

Oops something I forgot to fix. Thanks, Andre!
Reviewed-by: Nhat Pham <nphamcs@gmail.com>
Shuah Khan Aug. 16, 2023, 5:15 p.m. UTC | #2
On 8/15/23 09:56, Andre Przywara wrote:
> At the moment the cachestat syscall number is hard coded into the test
> source code.
> Remove that and replace it with the proper __NR_cachestat macro.
> That ensures compatibility should other architectures pick a different
> number.
> 
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>   tools/testing/selftests/cachestat/test_cachestat.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/testing/selftests/cachestat/test_cachestat.c b/tools/testing/selftests/cachestat/test_cachestat.c
> index 54d09b820ed4b..a5a4ac8dcb76c 100644
> --- a/tools/testing/selftests/cachestat/test_cachestat.c
> +++ b/tools/testing/selftests/cachestat/test_cachestat.c
> @@ -19,7 +19,6 @@ static const char * const dev_files[] = {
>   	"/dev/zero", "/dev/null", "/dev/urandom",
>   	"/proc/version", "/proc"
>   };
> -static const int cachestat_nr = 451;
>   
>   void print_cachestat(struct cachestat *cs)
>   {
> @@ -126,7 +125,7 @@ bool test_cachestat(const char *filename, bool write_random, bool create,
>   		}
>   	}
>   
> -	syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
> +	syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
>   
>   	ksft_print_msg("Cachestat call returned %ld\n", syscall_ret);
>   
> @@ -152,7 +151,7 @@ bool test_cachestat(const char *filename, bool write_random, bool create,
>   			ksft_print_msg("fsync fails.\n");
>   			ret = false;
>   		} else {
> -			syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
> +			syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
>   
>   			ksft_print_msg("Cachestat call (after fsync) returned %ld\n",
>   				syscall_ret);
> @@ -213,7 +212,7 @@ bool test_cachestat_shmem(void)
>   		goto close_fd;
>   	}
>   
> -	syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
> +	syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
>   
>   	if (syscall_ret) {
>   		ksft_print_msg("Cachestat returned non-zero.\n");


Thank you. Applied to linux-kselftest next for Linux 6.6-rc1

thanks,
-- Shuah
diff mbox series

Patch

diff --git a/tools/testing/selftests/cachestat/test_cachestat.c b/tools/testing/selftests/cachestat/test_cachestat.c
index 54d09b820ed4b..a5a4ac8dcb76c 100644
--- a/tools/testing/selftests/cachestat/test_cachestat.c
+++ b/tools/testing/selftests/cachestat/test_cachestat.c
@@ -19,7 +19,6 @@  static const char * const dev_files[] = {
 	"/dev/zero", "/dev/null", "/dev/urandom",
 	"/proc/version", "/proc"
 };
-static const int cachestat_nr = 451;
 
 void print_cachestat(struct cachestat *cs)
 {
@@ -126,7 +125,7 @@  bool test_cachestat(const char *filename, bool write_random, bool create,
 		}
 	}
 
-	syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
+	syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
 
 	ksft_print_msg("Cachestat call returned %ld\n", syscall_ret);
 
@@ -152,7 +151,7 @@  bool test_cachestat(const char *filename, bool write_random, bool create,
 			ksft_print_msg("fsync fails.\n");
 			ret = false;
 		} else {
-			syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
+			syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
 
 			ksft_print_msg("Cachestat call (after fsync) returned %ld\n",
 				syscall_ret);
@@ -213,7 +212,7 @@  bool test_cachestat_shmem(void)
 		goto close_fd;
 	}
 
-	syscall_ret = syscall(cachestat_nr, fd, &cs_range, &cs, 0);
+	syscall_ret = syscall(__NR_cachestat, fd, &cs_range, &cs, 0);
 
 	if (syscall_ret) {
 		ksft_print_msg("Cachestat returned non-zero.\n");