Skip to contentSkip to conversation

Patch "arm64: kvm: Prevent restoring stale PMSCR_EL1 for vcpu" has been added to the 4.14-stable tree

PATCH [email protected] 1 participant 1 message Dec 27, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

arm64: kvm: Prevent restoring stale PMSCR_EL1 for vcpu

to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
arm64-kvm-prevent-restoring-stale-pmscr_el1-for-vcpu.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From bfe766cf65fb65e68c4764f76158718560bdcee5 Mon Sep 17 00:00:00 2001

From: Julien Thierry <[email protected]>
Date: Wed, 6 Dec 2017 17:09:49 +0000
Subject: arm64: kvm: Prevent restoring stale PMSCR_EL1 for vcpu

From: Julien Thierry <[email protected]>

commit bfe766cf65fb65e68c4764f76158718560bdcee5 upstream.

When VHE is not present, KVM needs to save and restores PMSCR_EL1 when possible. If SPE is used by the host, value of PMSCR_EL1 cannot be saved for the guest.
If the host starts using SPE between two save+restore on the same vcpu, restore will write the value of PMSCR_EL1 read during the first save.

Make sure __debug_save_spe_nvhe clears the value of the saved PMSCR_EL1 when the guest cannot use SPE.

---
 arch/arm64/kvm/hyp/debug-sr.c |    3 +++
 1 file changed, 3 insertions(+)
arch/arm64/kvm/hyp/debug-sr.c +3 -0
@@ -84,6 +84,9 @@ static void __hyp_text __debug_save_spe_
 {
 	u64 reg;
 
+	/* Clear pmscr in case of early return */
+	*pmscr_el1 = 0;
+
 	/* SPE present on this CPU? */
 	if (!cpuid_feature_extract_unsigned_field(read_sysreg(id_aa64dfr0_el1),
 						  ID_AA64DFR0_PMSVER_SHIFT))

Patches currently in stable-queue which might be from [email protected] are

queue-4.14/arm64-kvm-prevent-restoring-stale-pmscr_el1-for-vcpu.patch