kselftest/arm64: mte: Fix MTE feature detection
authorAndre Przywara <andre.przywara@arm.com>
Fri, 19 Mar 2021 16:53:29 +0000 (16:53 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 May 2021 12:47:18 +0000 (14:47 +0200)
commitf38f972e14f19f363289e7d64ff651278c9d25a9
tree7f01029a0114b63dec42c840acf7e77d2f26f1dd
parentd16749988d093f73a7440432951405d092d1b0d9
kselftest/arm64: mte: Fix MTE feature detection

[ Upstream commit 592432862cc4019075a7196d9961562c49507d6f ]

To check whether the CPU and kernel support the MTE features we want
to test, we use an (emulated) CPU ID register read. However we only
check against a very particular feature version (0b0010), even though
the ARM ARM promises ID register features to be backwards compatible.

While this could be fixed by using ">=" instead of "==", we should
actually use the explicit HWCAP2_MTE hardware capability, exposed by the
kernel via the ELF auxiliary vectors.

That moves this responsibility to the kernel, and fixes running the
tests on machines with FEAT_MTE3 capability.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Mark Brown <broone@kernel.org>
Link: https://lore.kernel.org/r/20210319165334.29213-7-andre.przywara@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/arm64/mte/mte_common_util.c