summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Upton <oupton@kernel.org>2026-07-21 11:26:04 -0700
committerOliver Upton <oupton@kernel.org>2026-07-21 11:26:04 -0700
commit6010db0e23f52e178e3f6abe248efa4671c602c1 (patch)
tree3b4984bfd87989d5ec5dce1436997c8c704daefe
parent7bb0f66cebde0bc2d9242eec92841e2d37cdf9f6 (diff)
parent596289fe4836067b0320c80a9ab0101b9f7f9328 (diff)
downloadlinux-next-6010db0e23f52e178e3f6abe248efa4671c602c1.tar.gz
linux-next-6010db0e23f52e178e3f6abe248efa4671c602c1.zip
Merge branch 'kvm-arm64/pkvm-7.3' into kvmarm/next
* kvm-arm64/pkvm-7.3: : pKVM updates for 7.3 : : - Avoid name collision on trace_clock() when CONFIG_NVHE_EL2_TRACING is : disabled (Mostafa Saleh) : : - Clean up state tracking for whether the EL2 shadow VM has been : created (Fuad Tabba) : : - Synchronize SCTLR_EL1 when injecting an exception to use current : PAN/SSBS state (Fuad Tabba) KVM: arm64: Sync SCTLR_EL1 when injecting an exception into a pVM Signed-off-by: Oliver Upton <oupton@kernel.org>
-rw-r--r--arch/arm64/kvm/hyp/nvhe/sys_regs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/kvm/hyp/nvhe/sys_regs.c b/arch/arm64/kvm/hyp/nvhe/sys_regs.c
index 8c3fbb413a06..7608cc4030b8 100644
--- a/arch/arm64/kvm/hyp/nvhe/sys_regs.c
+++ b/arch/arm64/kvm/hyp/nvhe/sys_regs.c
@@ -257,10 +257,11 @@ static void inject_sync64(struct kvm_vcpu *vcpu, u64 esr)
*vcpu_cpsr(vcpu) = read_sysreg_el2(SYS_SPSR);
/*
- * Make sure we have the latest update to VBAR_EL1, as pKVM
- * handles traps very early, before sysregs are resync'ed
+ * Sync VBAR_EL1 and SCTLR_EL1, both read by enter_exception64(),
+ * as pKVM handles traps before sysregs are resync'ed.
*/
__vcpu_assign_sys_reg(vcpu, VBAR_EL1, read_sysreg_el1(SYS_VBAR));
+ __vcpu_assign_sys_reg(vcpu, SCTLR_EL1, read_sysreg_el1(SYS_SCTLR));
kvm_pend_exception(vcpu, EXCEPT_AA64_EL1_SYNC);