selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable
authorMichael Ellerman <mpe@ellerman.id.au>
Mon, 26 Feb 2018 04:22:22 +0000 (15:22 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:09 +0000 (07:52 +0200)
commitf03cd5862f55956afb208b695e45e681b160181e
treed3ddf9b451d6092aee17eb959b2920b7a8ef5f3f
parent2b103dee283f3fcec7b1141aa041d1346176e0cf
selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable

[ Upstream commit cd4a6f3ab4d80cb919d15897eb3cbc85c2009d4b ]

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.

Additionally the syscall is not available if the kernel is built with
4K pages, or if CONFIG_PPC_SUBPAGE_PROT=n, in which case it returns
ENOSYS because the syscall is missing entirely.

So check explicitly for ENOENT and ENOSYS and skip if we see either of
those.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/powerpc/mm/subpage_prot.c