[PATCH] KVM: arm64: Correctly populate FAR_EL2 on nested SEA injection

Ben Horgan ben.horgan at arm.com
Fri Aug 15 04:25:35 PDT 2025


Hi Marc,

This patch looks good to me. Just a typo in the commit message.

On 8/13/25 17:37, Marc Zyngier wrote:
> vcoy_write_sys_reg()'s signature is not totally obvious, and it
typo: s/vcoy/vcpu/
> is rather easy to write something that looks correct, except that...
> Oh wait...
> 
> Swap addr and FAR_EL2 to restore some sanity in the nested SEA
> department.
> 
> Fixes: 9aba641b9ec2a ("KVM: arm64: nv: Respect exception routing rules for SEAs")
> Signed-off-by: Marc Zyngier <maz at kernel.org>
> ---
>   arch/arm64/kvm/emulate-nested.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kvm/emulate-nested.c b/arch/arm64/kvm/emulate-nested.c
> index 90cb4b7ae0ff7..af69c897c2c3a 100644
> --- a/arch/arm64/kvm/emulate-nested.c
> +++ b/arch/arm64/kvm/emulate-nested.c
> @@ -2833,7 +2833,7 @@ int kvm_inject_nested_sea(struct kvm_vcpu *vcpu, bool iabt, u64 addr)
>   			     iabt ? ESR_ELx_EC_IABT_LOW : ESR_ELx_EC_DABT_LOW);
>   	esr |= ESR_ELx_FSC_EXTABT | ESR_ELx_IL;
>   
> -	vcpu_write_sys_reg(vcpu, FAR_EL2, addr);
> +	vcpu_write_sys_reg(vcpu, addr, FAR_EL2);
>   
>   	if (__vcpu_sys_reg(vcpu, SCTLR2_EL2) & SCTLR2_EL1_EASE)
>   		return kvm_inject_nested(vcpu, esr, except_type_serror);

Thanks,

Ben




More information about the linux-arm-kernel mailing list