On Mon, Sep 13, 2021 at 7:51 AM Juergen Gross <jgross@xxxxxxxx> wrote: > > Commit 76b4f357d0e7d8f6f00 ("x86/kvm: fix vcpu-id indexed array sizes") > has wrong reasoning, as KVM_MAX_VCPU_ID is not defining the maximum > allowed vcpu-id as its name suggests, but the number of vcpu-ids. > > So revert this patch again. > > Suggested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx> > Signed-off-by: Juergen Gross <jgross@xxxxxxxx> The original commit 76b4f357d0e7d8f6f00 CC'ed Stable but this revert does not. Looking at the stable branches, I see the original has been reverted but this hasn't. Should this be added to Stable as well? > --- > arch/x86/kvm/ioapic.c | 2 +- > arch/x86/kvm/ioapic.h | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c > index ff005fe738a4..698969e18fe3 100644 > --- a/arch/x86/kvm/ioapic.c > +++ b/arch/x86/kvm/ioapic.c > @@ -96,7 +96,7 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic, > static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic) > { > ioapic->rtc_status.pending_eoi = 0; > - bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID + 1); > + bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID); > } > > static void kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic *ioapic); > diff --git a/arch/x86/kvm/ioapic.h b/arch/x86/kvm/ioapic.h > index bbd4a5d18b5d..27e61ff3ac3e 100644 > --- a/arch/x86/kvm/ioapic.h > +++ b/arch/x86/kvm/ioapic.h > @@ -39,13 +39,13 @@ struct kvm_vcpu; > > struct dest_map { > /* vcpu bitmap where IRQ has been sent */ > - DECLARE_BITMAP(map, KVM_MAX_VCPU_ID + 1); > + DECLARE_BITMAP(map, KVM_MAX_VCPU_ID); > > /* > * Vector sent to a given vcpu, only valid when > * the vcpu's bit in map is set > */ > - u8 vectors[KVM_MAX_VCPU_ID + 1]; > + u8 vectors[KVM_MAX_VCPU_ID]; > }; > > > -- > 2.26.2 >