* [PATCH] selftests/powerpc: Skip the subpage_prot tests if the syscall is disabled
@ 2018-02-26 4:25 Michael Ellerman
2018-02-26 4:33 ` Aneesh Kumar K.V
0 siblings, 1 reply; 2+ messages in thread
From: Michael Ellerman @ 2018-02-26 4:25 UTC (permalink / raw)
To: linuxppc-dev; +Cc: khandual, aneesh.kumar
The subpage_prot syscall is only functional when the system is using
the Hash MMU. Since commit 5b2b80714796 ("powerpc/mm: Invalidate
subpage_prot() system call on radix platforms") it returns ENOENT when
the Radix MMU is active. Currently this just makes the test fail.
Instead check explicitly for ENOENT and skip if we see that.
Fixes: 5b2b80714796 ("powerpc/mm: Invalidate subpage_prot() system call on radix platforms")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
tools/testing/selftests/powerpc/mm/subpage_prot.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tools/testing/selftests/powerpc/mm/subpage_prot.c b/tools/testing/selftests/powerpc/mm/subpage_prot.c
index 35ade7406dcd..81570680e7ea 100644
--- a/tools/testing/selftests/powerpc/mm/subpage_prot.c
+++ b/tools/testing/selftests/powerpc/mm/subpage_prot.c
@@ -135,6 +135,15 @@ static int run_test(void *addr, unsigned long size)
return 0;
}
+static int syscall_available(void)
+{
+ int rc;
+
+ errno = 0;
+ rc = syscall(__NR_subpage_prot, 0, 0, 0);
+ return rc == 0 || errno != ENOENT;
+}
+
int test_anon(void)
{
unsigned long align;
@@ -145,6 +154,8 @@ int test_anon(void)
void *mallocblock;
unsigned long mallocsize;
+ SKIP_IF(!syscall_available());
+
if (getpagesize() != 0x10000) {
fprintf(stderr, "Kernel page size must be 64K!\n");
return 1;
@@ -180,6 +191,8 @@ int test_file(void)
off_t filesize;
int fd;
+ SKIP_IF(!syscall_available());
+
fd = open(file_name, O_RDWR);
if (fd == -1) {
perror("failed to open file");
--
2.14.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] selftests/powerpc: Skip the subpage_prot tests if the syscall is disabled
2018-02-26 4:25 [PATCH] selftests/powerpc: Skip the subpage_prot tests if the syscall is disabled Michael Ellerman
@ 2018-02-26 4:33 ` Aneesh Kumar K.V
0 siblings, 0 replies; 2+ messages in thread
From: Aneesh Kumar K.V @ 2018-02-26 4:33 UTC (permalink / raw)
To: Michael Ellerman, linuxppc-dev; +Cc: khandual
Michael Ellerman <mpe@ellerman.id.au> writes:
> The subpage_prot syscall is only functional when the system is using
> the Hash MMU. Since commit 5b2b80714796 ("powerpc/mm: Invalidate
> subpage_prot() system call on radix platforms") it returns ENOENT when
> the Radix MMU is active. Currently this just makes the test fail.
>
> Instead check explicitly for ENOENT and skip if we see that.
>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> Fixes: 5b2b80714796 ("powerpc/mm: Invalidate subpage_prot() system call on radix platforms")
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> ---
> tools/testing/selftests/powerpc/mm/subpage_prot.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/tools/testing/selftests/powerpc/mm/subpage_prot.c b/tools/testing/selftests/powerpc/mm/subpage_prot.c
> index 35ade7406dcd..81570680e7ea 100644
> --- a/tools/testing/selftests/powerpc/mm/subpage_prot.c
> +++ b/tools/testing/selftests/powerpc/mm/subpage_prot.c
> @@ -135,6 +135,15 @@ static int run_test(void *addr, unsigned long size)
> return 0;
> }
>
> +static int syscall_available(void)
> +{
> + int rc;
> +
> + errno = 0;
> + rc = syscall(__NR_subpage_prot, 0, 0, 0);
> + return rc == 0 || errno != ENOENT;
> +}
> +
> int test_anon(void)
> {
> unsigned long align;
> @@ -145,6 +154,8 @@ int test_anon(void)
> void *mallocblock;
> unsigned long mallocsize;
>
> + SKIP_IF(!syscall_available());
> +
> if (getpagesize() != 0x10000) {
> fprintf(stderr, "Kernel page size must be 64K!\n");
> return 1;
> @@ -180,6 +191,8 @@ int test_file(void)
> off_t filesize;
> int fd;
>
> + SKIP_IF(!syscall_available());
> +
> fd = open(file_name, O_RDWR);
> if (fd == -1) {
> perror("failed to open file");
> --
> 2.14.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-02-26 4:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-26 4:25 [PATCH] selftests/powerpc: Skip the subpage_prot tests if the syscall is disabled Michael Ellerman
2018-02-26 4:33 ` Aneesh Kumar K.V
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).