[PATCH v4 07/21] arm64/sme: Enable host kernel to access ZT0

Mark Brown broonie at kernel.org
Mon Feb 6 05:02:33 PST 2023


On Mon, Feb 06, 2023 at 09:31:20AM +0000, Marc Zyngier wrote:

> __check_override assumes that the ID_AA64SMFR0_EL1 value is in x1, and
> I guess that the intent of the code is to reuse value read a few lines
> above. But as the comment says at the beginning of the macro, x1 will
> be clobbered, and the checks always fails.

Yes, it looks like this is a victim of rebasing - I didn't spot the
change to make x1 clobbered when the override checking was refactored.
Thanks for spotting this.

> I presume we're just lucky that sme2_kernel_enable() does the same
> thing unconditionally, which probably means this was only ever tested
> with a VHE kernel (it'd otherwise catch fire).

Yes, I'd not be surprised if I'd never run this in nVHE.

> The easiest fix is just to reload the id register before checking it,
> something like the patch below, compile-tested only.

Reviewed-by: Mark Brown <broonie at kernel.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20230206/8ce62d57/attachment.sig>


More information about the linux-arm-kernel mailing list