Patch "KVM: arm/arm64: vgic-v3: Clear all dirty LRs" has been added to the 4.6-stable tree
From: <gregkh@linuxfoundation.org>
Date: 2016-06-18 17:02:58
This is a note to let you know that I've just added the patch titled
KVM: arm/arm64: vgic-v3: Clear all dirty LRs
to the 4.6-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:
kvm-arm-arm64-vgic-v3-clear-all-dirty-lrs.patch
and it can be found in the queue-4.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let [off-list ref] know about it.
From fa89c77e891917b5913f9be080f9131a9457bb3e Mon Sep 17 00:00:00 2001
From: Christoffer Dall <redacted> Date: Wed, 25 May 2016 15:26:34 +0100 Subject: KVM: arm/arm64: vgic-v3: Clear all dirty LRs From: Christoffer Dall <redacted> commit fa89c77e891917b5913f9be080f9131a9457bb3e upstream. When saving the state of the list registers, it is critical to reset them zero, as we could otherwise leave unexpected EOI interrupts pending for virtual level interrupts. Signed-off-by: Christoffer Dall <redacted> Signed-off-by: Marc Zyngier <redacted> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- arch/arm64/kvm/hyp/vgic-v3-sr.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
--- a/arch/arm64/kvm/hyp/vgic-v3-sr.c
+++ b/arch/arm64/kvm/hyp/vgic-v3-sr.c@@ -190,12 +190,11 @@ void __hyp_text __vgic_v3_save_state(str if (!(vcpu->arch.vgic_cpu.live_lrs & (1UL << i))) continue; - if (cpu_if->vgic_elrsr & (1 << i)) { + if (cpu_if->vgic_elrsr & (1 << i)) cpu_if->vgic_lr[i] &= ~ICH_LR_STATE; - continue; - } + else + cpu_if->vgic_lr[i] = __gic_v3_get_lr(i); - cpu_if->vgic_lr[i] = __gic_v3_get_lr(i); __gic_v3_set_lr(0, i); }
Patches currently in stable-queue which might be from christoffer.dall@linaro.org are queue-4.6/kvm-arm-arm64-vgic-v2-clear-all-dirty-lrs.patch queue-4.6/kvm-arm-arm64-vgic-v3-clear-all-dirty-lrs.patch