All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: quintela@redhat.com,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	peterx@redhat.com, qemu-devel@nongnu.org,
	alex.williamson@redhat.com, leobras@redhat.com,
	Igor Mammedov <imammedo@redhat.com>
Subject: Re: [PATCH v2] acpi: fix acpi_index migration
Date: Wed, 6 Apr 2022 17:12:53 -0400	[thread overview]
Message-ID: <20220406171222-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAFEAcA_mGDuzMZEz3uDyxyB9_Zp503FoLr6sdz-7hUF+CFaLRQ@mail.gmail.com>

On Wed, Apr 06, 2022 at 09:29:02PM +0100, Peter Maydell wrote:
> On Wed, 6 Apr 2022 at 19:59, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote:
> >
> > * Igor Mammedov (imammedo@redhat.com) wrote:
> > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > >
> > > vmstate_acpi_pcihp_use_acpi_index() was expecting AcpiPciHpState
> > > as state but it actually received PIIX4PMState, because
> > > VMSTATE_PCI_HOTPLUG is a macro and not another struct.
> > > So it ended up accessing random pointer, which resulted
> > > in 'false' return value and acpi_index field wasn't ever
> > > sent.
> > >
> > > However in 7.0 that pointer de-references to value > 0, and
> > > destination QEMU starts to expect the field which isn't
> > > sent in migratioon stream from older QEMU (6.2 and older).
> > > As result migration fails with:
> > >   qemu-system-x86_64: Missing section footer for 0000:00:01.3/piix4_pm
> > >   qemu-system-x86_64: load of migration failed: Invalid argument
> > >
> > > In addition with QEMU-6.2, destination due to not expected
> > > state, also never expects the acpi_index field in migration
> > > stream.
> > >
> > > Q35 is not affected as it always sends/expects the field as
> > > long as acpi based PCI hotplug is enabled.
> > >
> > > Fix issue by introducing compat knob to never send/expect
> > > acpi_index in migration stream for 6.2 and older PC machine
> > > types and always send it for 7.0 and newer PC machine types.
> > >
> > > Diagnosed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > > Fixes: b32bd76 ("pci: introduce acpi-index property for PCI device")
> > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/932
> > > Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> >
> > Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> 
> Applied to master for rc3, thanks.
> 
> -- PMM

Oh. I had this in my queue with a different commit log.
But sure. Feel free to add:
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

-- 
MST



      reply	other threads:[~2022-04-06 21:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-06 18:58 [PATCH v2] acpi: fix acpi_index migration Igor Mammedov
2022-04-06 18:59 ` Dr. David Alan Gilbert
2022-04-06 20:29   ` Peter Maydell
2022-04-06 21:12     ` Michael S. Tsirkin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220406171222-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=leobras@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.