2021-09-13 14:02:47

by Jürgen Groß

[permalink] [raw]
Subject: [PATCH 1/2] x86/kvm: revert commit 76b4f357d0e7d8f6f00

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 <[email protected]>
Signed-off-by: Juergen Gross <[email protected]>
---
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


2021-11-09 01:03:32

by Ben Gardon

[permalink] [raw]
Subject: Re: [PATCH 1/2] x86/kvm: revert commit 76b4f357d0e7d8f6f00

On Mon, Sep 13, 2021 at 7:51 AM Juergen Gross <[email protected]> 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 <[email protected]>
> Signed-off-by: Juergen Gross <[email protected]>

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
>

2021-11-09 03:32:54

by Ben Gardon

[permalink] [raw]
Subject: Re: [PATCH 1/2] x86/kvm: revert commit 76b4f357d0e7d8f6f00

On Mon, Nov 8, 2021 at 12:14 PM Ben Gardon <[email protected]> wrote:
>
> On Mon, Sep 13, 2021 at 7:51 AM Juergen Gross <[email protected]> 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 <[email protected]>
> > Signed-off-by: Juergen Gross <[email protected]>
>
> 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?

*the original has been incorporated into the stable branches but this hasn't.

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

2021-11-09 16:17:46

by Jürgen Groß

[permalink] [raw]
Subject: Re: [PATCH 1/2] x86/kvm: revert commit 76b4f357d0e7d8f6f00

On 08.11.21 21:15, Ben Gardon wrote:
> On Mon, Nov 8, 2021 at 12:14 PM Ben Gardon <[email protected]> wrote:
>>
>> On Mon, Sep 13, 2021 at 7:51 AM Juergen Gross <[email protected]> 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 <[email protected]>
>>> Signed-off-by: Juergen Gross <[email protected]>
>>
>> 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?
>
> *the original has been incorporated into the stable branches but this hasn't.

Just yesterday I received mails that this patch has been added to the
stable branches.


Juergen


Attachments:
OpenPGP_0xB0DE9DD628BF132F.asc (3.06 kB)
OpenPGP public key
OpenPGP_signature (505.00 B)
OpenPGP digital signature
Download all attachments

2021-11-10 00:09:11

by Ben Gardon

[permalink] [raw]
Subject: Re: [PATCH 1/2] x86/kvm: revert commit 76b4f357d0e7d8f6f00

On Tue, Nov 9, 2021 at 12:47 AM Juergen Gross <[email protected]> wrote:
>
> On 08.11.21 21:15, Ben Gardon wrote:
> > On Mon, Nov 8, 2021 at 12:14 PM Ben Gardon <[email protected]> wrote:
> >>
> >> On Mon, Sep 13, 2021 at 7:51 AM Juergen Gross <[email protected]> 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 <[email protected]>
> >>> Signed-off-by: Juergen Gross <[email protected]>
> >>
> >> 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?
> >
> > *the original has been incorporated into the stable branches but this hasn't.
>
> Just yesterday I received mails that this patch has been added to the
> stable branches.
>
>
> Juergen

Oh wonderful, what a coincidence!
Thanks,
Ben