From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] KVM: ioapic: add check for RTC_GSI Date: Thu, 11 Sep 2014 08:01:22 +0200 Message-ID: <54113AB2.3020801@siemens.com> References: <1410368033-23628-1-git-send-email-chris.j.arges@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , Paolo Bonzini , linux-kernel@vger.kernel.org To: Chris J Arges , kvm@vger.kernel.org Return-path: In-Reply-To: <1410368033-23628-1-git-send-email-chris.j.arges@canonical.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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 > --- > 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); > -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux