Patch "KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table" has been added to the 4.14-stable tree
This is a note to let you know that I've just added the patch titled
KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table
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:
kvm-arm-arm64-vgic-its-preserve-the-revious-read-from-the-pending-table.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
64afe6e9eb4841f35317da4393de21a047a883b3Mon Sep 17 00:00:00 2001
From: Marc Zyngier <[email protected]>
Date: Thu, 16 Nov 2017 17:58:17 +0000
Subject: KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table
From: Marc Zyngier <[email protected]>
commit 64afe6e9eb4841f35317da4393de21a047a883b3 upstream.
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...
--- virt/kvm/arm/vgic/vgic-its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
virt/kvm/arm/vgic/vgic-its.c +1 -1
@@ -393,6 +393,7 @@ static int its_sync_lpi_pending_table(stint ret =0 ;u32 *intids;int nr_irqs, i; +u8 pendmask; nr_irqs =vgic_copy_lpi_list (vcpu, &intids);if (nr_irqs <0 )
@@ -400,7 +401,6 @@ static int its_sync_lpi_pending_table(stfor (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 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/kvm-arm-arm64-vgic-its-preserve-the-revious-read-from-the-pending-table.patch