Message ID | 1410368033-23628-1-git-send-email-chris.j.arges@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2014-09-10 18:53, Chris J Arges wrote: > cppcheck found the following error: > [ioapic.c:114]: (error) Array index -1 is out of bounds. > > If CONFIG_X86 is not defined, RTC_GSI == -1U which means that an out of bounds That issue is limited to the dead ia64 architecture, no other builds ioapic.c (besides x86, of course). Maybe finally remove KVM support for that arch instead of bloating otherwise correct code? Jan > error could occur when accessing &ioapic->redirtbl[RTC_GSI]. > > This patch adds a check to kvm_rtc_eoi_tracking_restore_one that is similar to > how kvm_rtc_eoi_tracking_restore_all checks this condition. > > Signed-off-by: Chris J Arges <chris.j.arges@canonical.com> > --- > virt/kvm/ioapic.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c > index e8ce34c..859f5b8 100644 > --- a/virt/kvm/ioapic.c > +++ b/virt/kvm/ioapic.c > @@ -136,6 +136,9 @@ void kvm_rtc_eoi_tracking_restore_one(struct kvm_vcpu *vcpu) > { > struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; > > + if (RTC_GSI >= IOAPIC_NUM_PINS) > + return; > + > spin_lock(&ioapic->lock); > __rtc_irq_eoi_tracking_restore_one(vcpu); > spin_unlock(&ioapic->lock); >
Il 11/09/2014 08:01, Jan Kiszka ha scritto: > That issue is limited to the dead ia64 architecture, no other builds > ioapic.c (besides x86, of course). Maybe finally remove KVM support for > that arch instead of bloating otherwise correct code? Yes, we should. I've just been too busy to do it. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2014-09-11 11:08, Paolo Bonzini wrote: > Il 11/09/2014 08:01, Jan Kiszka ha scritto: >> That issue is limited to the dead ia64 architecture, no other builds >> ioapic.c (besides x86, of course). Maybe finally remove KVM support for >> that arch instead of bloating otherwise correct code? > > Yes, we should. I've just been too busy to do it. As I enjoy creating large negative diffs :), I would almost do it - if I had a test environment for IA64... Jan
Il 11/09/2014 11:19, Jan Kiszka ha scritto: > On 2014-09-11 11:08, Paolo Bonzini wrote: >> Il 11/09/2014 08:01, Jan Kiszka ha scritto: >>> That issue is limited to the dead ia64 architecture, no other builds >>> ioapic.c (besides x86, of course). Maybe finally remove KVM support for >>> that arch instead of bloating otherwise correct code? >> >> Yes, we should. I've just been too busy to do it. > > As I enjoy creating large negative diffs :), I would almost do it - if I > had a test environment for IA64... I have one. :) Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c index e8ce34c..859f5b8 100644 --- a/virt/kvm/ioapic.c +++ b/virt/kvm/ioapic.c @@ -136,6 +136,9 @@ void kvm_rtc_eoi_tracking_restore_one(struct kvm_vcpu *vcpu) { struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; + if (RTC_GSI >= IOAPIC_NUM_PINS) + return; + spin_lock(&ioapic->lock); __rtc_irq_eoi_tracking_restore_one(vcpu); spin_unlock(&ioapic->lock);
cppcheck found the following error: [ioapic.c:114]: (error) Array index -1 is out of bounds. If CONFIG_X86 is not defined, RTC_GSI == -1U which means that an out of bounds error could occur when accessing &ioapic->redirtbl[RTC_GSI]. This patch adds a check to kvm_rtc_eoi_tracking_restore_one that is similar to how kvm_rtc_eoi_tracking_restore_all checks this condition. Signed-off-by: Chris J Arges <chris.j.arges@canonical.com> --- virt/kvm/ioapic.c | 3 +++ 1 file changed, 3 insertions(+)