On Tue, 01 Jun 2021 12:12:38 +0100, Zenghui Yu <yuzenghui@xxxxxxxxxx> wrote: > > commit e3e880bb1518eb10a4b4bb4344ed614d6856f190 upstream. > > Commit 26778aaa134a ("KVM: arm64: Commit pending PC adjustemnts before > returning to userspace") fixed the PC updating issue by forcing an explicit > synchronisation of the exception state on vcpu exit to userspace. > > However, we forgot to take into account the case where immediate_exit is > set by userspace and KVM_RUN will exit immediately. Fix it by resolving all > pending PC updates before returning to userspace. > > Since __kvm_adjust_pc() relies on a loaded vcpu context, I moved the > immediate_exit checking right after vcpu_load(). We will get some overhead > if immediate_exit is true (which should hopefully be rare). > > Fixes: 26778aaa134a ("KVM: arm64: Commit pending PC adjustemnts before returning to userspace") > Signed-off-by: Zenghui Yu <yuzenghui@xxxxxxxxxx> > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20210526141831.1662-1-yuzenghui@xxxxxxxxxx > Cc: stable@xxxxxxxxxxxxxxx # 5.11 Reviewed-by: Marc Zyngier <maz@xxxxxxxxxx> M. -- Without deviation from the norm, progress is not possible.