Comment 2 for bug 1907656

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2020-12-10 10:05 EDT-------
(In reply to comment #10)
> This is in qemu 5.2 which I'm already working on for hirsute.
> So -devel should be fixed soon (althrough testing on 5.2 will consume a few
> days).
>
> Three questions for the following SRU as this was flagged for Focal and
> Groovy as well.
>
> 1. How urgent/severe is it, do we need to move heaven and earth to get this
> completed before the Christmas downtime or can this be SRU released in
> January?

No, this can be released in January.

>
> 2. I see you said for repro "kexec on an s390x guest with PCI devices". But
> I'm sure you already have a script and or guest xmls and whatever else that
> is related. Anything I don't have to come up from-scratch will make handling
> this faster.
>
> 3. Do I need any special HW and/or configuration to achieve "s390x guest
> with PCI devices" like real PCI ?!? - or is it enough to try to force e.g.
> virtio-net-pci in? Again sample XMls and commands will help.

The issue was originally hit with vfio-pci passthrough (which would indeed require special hardware), but can also be recreated using emulated devices such as virtio-net-pci. I just did so on focal using an XML entry that looks like this for a guest:

<interface type='network'>
<source network='default'/>
<model type='virtio'/>
<address type='pci'/>
<rom bar='off'/>
</interface>

I will also attach a minimal guest XML entry that I used, you should be able to re-use just this with a different boot disk.

I don't have a script, but the process to reproduce is short and straightforward:

1) start the guest with the virtio-net-pci device
2) In the guest, 'lspci' to view the available PCI devices, you should see:
0001:00:00.0 Ethernet controller: Red Hat, Inc. Virtio network device
3) In the guest, kexec to a different kernel, example:
kexec -l /path/to/image --initrd=/path/to/initrd --append="$(cat /proc/cmdline)"
kexec -e
4) lspci after to view the available PCI devices - this time, there will be none listed; reboot of the guest is required to restore PCI devices. With the fix applied, lspci would show the same results as in step 2 above.