arm64/sme: Fix __finalise_el2 SMEver check
authorMarc Zyngier <maz@kernel.org>
Mon, 6 Feb 2023 09:24:40 +0000 (09:24 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 6 Feb 2023 16:34:29 +0000 (16:34 +0000)
commit9442d05bba6c12749fdc4039eddcf801398ec82b
tree7248314c1a2a25a9c048b53829790b9af493156c
parentb2ab432bcf65e6fa3ec3fef6dd08796404b009d0
arm64/sme: Fix __finalise_el2 SMEver check

When checking for ID_AA64SMFR0_EL1.SMEver, __check_override assumes
that the ID_AA64SMFR0_EL1 value is in x1, and the intent of the code
is to reuse value read a few lines above.

However, as the comment says at the beginning of the macro, x1 will
be clobbered, and the checks always fails.

The easiest fix is just to reload the id register before checking it.

Fixes: f122576f3533 ("arm64/sme: Enable host kernel to access ZT0")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/hyp-stub.S