linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] KVM: x86: Zero the IOAPIC scan request dest vCPUs bitmap
@ 2019-11-20 12:12 Nitesh Narayan Lal
  2019-11-20 12:33 ` Paolo Bonzini
  0 siblings, 1 reply; 2+ messages in thread
From: Nitesh Narayan Lal @ 2019-11-20 12:12 UTC (permalink / raw)
  To: kvm, linux-kernel, pbonzini, mtosatti, rkrcmar, vkuznets,
	sean.j.christopherson, wanpengli, jmattson, joro

Not zeroing the bitmap used for identifying the destination vCPUs for an
IOAPIC scan request in fixed delivery mode could lead to waking up unwanted
vCPUs. This patch zeroes the vCPU bitmap before passing it to
kvm_bitmap_or_dest_vcpus(), which is responsible for setting the bitmap
with the bits corresponding to the destination vCPUs.

Fixes: 7ee30bc132c6("KVM: x86: deliver KVM IOAPIC scan request to target vCPUs")
Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com>
---
 arch/x86/kvm/ioapic.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c
index ce30ef23c86b..9fd2dd89a1c5 100644
--- a/arch/x86/kvm/ioapic.c
+++ b/arch/x86/kvm/ioapic.c
@@ -332,6 +332,7 @@ static void ioapic_write_indirect(struct kvm_ioapic *ioapic, u32 val)
 			irq.delivery_mode = e->fields.delivery_mode << 8;
 			irq.dest_id = e->fields.dest_id;
 			irq.dest_mode = e->fields.dest_mode;
+			bitmap_zero(&vcpu_bitmap, 16);
 			kvm_bitmap_or_dest_vcpus(ioapic->kvm, &irq,
 						 &vcpu_bitmap);
 			if (old_dest_mode != e->fields.dest_mode ||
-- 
2.18.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] KVM: x86: Zero the IOAPIC scan request dest vCPUs bitmap
  2019-11-20 12:12 [PATCH] KVM: x86: Zero the IOAPIC scan request dest vCPUs bitmap Nitesh Narayan Lal
@ 2019-11-20 12:33 ` Paolo Bonzini
  0 siblings, 0 replies; 2+ messages in thread
From: Paolo Bonzini @ 2019-11-20 12:33 UTC (permalink / raw)
  To: Nitesh Narayan Lal, kvm, linux-kernel, mtosatti, rkrcmar,
	vkuznets, sean.j.christopherson, wanpengli, jmattson, joro

On 20/11/19 13:12, Nitesh Narayan Lal wrote:
> Not zeroing the bitmap used for identifying the destination vCPUs for an
> IOAPIC scan request in fixed delivery mode could lead to waking up unwanted
> vCPUs. This patch zeroes the vCPU bitmap before passing it to
> kvm_bitmap_or_dest_vcpus(), which is responsible for setting the bitmap
> with the bits corresponding to the destination vCPUs.
> 
> Fixes: 7ee30bc132c6("KVM: x86: deliver KVM IOAPIC scan request to target vCPUs")
> Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com>
> ---
>  arch/x86/kvm/ioapic.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c
> index ce30ef23c86b..9fd2dd89a1c5 100644
> --- a/arch/x86/kvm/ioapic.c
> +++ b/arch/x86/kvm/ioapic.c
> @@ -332,6 +332,7 @@ static void ioapic_write_indirect(struct kvm_ioapic *ioapic, u32 val)
>  			irq.delivery_mode = e->fields.delivery_mode << 8;
>  			irq.dest_id = e->fields.dest_id;
>  			irq.dest_mode = e->fields.dest_mode;
> +			bitmap_zero(&vcpu_bitmap, 16);
>  			kvm_bitmap_or_dest_vcpus(ioapic->kvm, &irq,
>  						 &vcpu_bitmap);
>  			if (old_dest_mode != e->fields.dest_mode ||
> 

Queued, thanks.

Paolo


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-11-20 12:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-20 12:12 [PATCH] KVM: x86: Zero the IOAPIC scan request dest vCPUs bitmap Nitesh Narayan Lal
2019-11-20 12:33 ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).