Messages in this thread | | | Subject | Re: [PATCH v8 03/13] KVM: Define a new interface kvm_intr_is_single_vcpu() | From | Paolo Bonzini <> | Date | Thu, 17 Sep 2015 11:42:05 +0200 |
| |
On 17/09/2015 05:17, Wu, Feng wrote: >>> > > + if (irq->dest_mode == APIC_DEST_PHYSICAL) { >>> > > + if (irq->dest_id == 0xFF) >>> > > + goto out; >>> > > + >>> > > + if (irq->dest_id >= ARRAY_SIZE(map->phys_map)) { >> > >> > Warning here is wrong, the guest can trigger it. > Could you please share more information about how the guest > triggers these conditions (including the following two), Thanks > a lot!
irq->dest_id is a 16-bit value, so it can be > 255.
> + if (!kvm_apic_logical_map_valid(map)) { > + WARN_ON_ONCE(1);
Here, the guest can trigger it by setting a few APICs in flat mode and others in cluster mode, for example.
> + if (cid >= ARRAY_SIZE(map->logical_map)) { > + WARN_ON_ONCE(1);
In x2apic mode irq->dest_id could have bits 12..15 set.
Paolo
| |