From: Marc Zyngier <maz@xxxxxxxxxx> commit dfe6d190f38fc5df5ff2614b463a5195a399c885 upstream. It appears that we don't allow a vcpu to be restored in AArch32 System mode, as we *never* included it in the list of valid modes. Just add it to the list of allowed modes. Fixes: 0d854a60b1d7 ("arm64: KVM: enable initialization of a 32bit vcpu") Cc: stable@xxxxxxxxxxxxxxx Acked-by: Oliver Upton <oliver.upton@xxxxxxxxx> Link: https://lore.kernel.org/r/20240524141956.1450304-3-maz@xxxxxxxxxx Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/arm64/kvm/guest.c | 1 + 1 file changed, 1 insertion(+) --- a/arch/arm64/kvm/guest.c +++ b/arch/arm64/kvm/guest.c @@ -251,6 +251,7 @@ static int set_core_reg(struct kvm_vcpu case PSR_AA32_MODE_SVC: case PSR_AA32_MODE_ABT: case PSR_AA32_MODE_UND: + case PSR_AA32_MODE_SYS: if (!vcpu_el1_is_32bit(vcpu)) return -EINVAL; break; Patches currently in stable-queue which might be from maz@xxxxxxxxxx are queue-6.9/kvm-arm64-fix-aarch32-register-narrowing-on-userspace-write.patch queue-6.9/kvm-arm64-aarch32-fix-spurious-trapping-of-conditional-instructions.patch queue-6.9/kvm-arm64-allow-aarch32-pstate.m-to-be-restored-as-system-mode.patch