Re: [PATCH] KVM: ioapic: add check for RTC_GSI

From: Jan Kiszka
Date: Thu Sep 11 2014 - 02:01:43 EST


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@xxxxxxxxxxxxx>
> ---
> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/