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

From: Mark Brown
Date: Mon Feb 06 2023 - 08:02:46 EST


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@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature