Skip to contentSkip to conversation

FAILED: patch "[PATCH] KVM: arm/arm64: vgic-its: Preserve the revious read from the" failed to apply to 4.14-stable tree

PATCH [email protected] 1 participant 1 message Dec 11, 2017 Stable branch

lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 64afe6e9eb4841f35317da4393de21a047a883b3 Mon Sep 17 00:00:00 2001

From: Marc Zyngier <[email protected]>
Date: Thu, 16 Nov 2017 17:58:17 +0000
Subject: [PATCH] KVM: arm/arm64: vgic-its: Preserve the revious read from the
pending table

The current pending table parsing code assumes that we keep the previous read of the pending bits, but keep that variable in the current block, making sure it is discarded on each loop.

We end-up using whatever is on the stack. Who knows, it might just be the right thing...

Fixes 33d3bc9556a7d ("KVM: arm64: vgic-its: Read initial LPI pending table")
virt/kvm/arm/vgic/vgic-its.c +1 -1
index 1f761a9991e7..cb2d0a2dbe5a 100644
@@ -421,6 +421,7 @@ static int its_sync_lpi_pending_table(struct kvm_vcpu *vcpu)
 	u32 *intids;
 	int nr_irqs, i;
 	unsigned long flags;
+	u8 pendmask;
 
 	nr_irqs = vgic_copy_lpi_list(vcpu, &intids);
 	if (nr_irqs < 0)
@@ -428,7 +429,6 @@ static int its_sync_lpi_pending_table(struct kvm_vcpu *vcpu)
 
 	for (i = 0; i < nr_irqs; i++) {
 		int byte_offset, bit_nr;
-		u8 pendmask;
 
 		byte_offset = intids[i] / BITS_PER_BYTE;
 		bit_nr = intids[i] % BITS_PER_BYTE;