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