Test steps: 1. Boot rhel8.5 guest with balloon device under q35, the full cmdline is as [1]. (It's not reproducible with rhel8.4 guest.) 2. Add 'page_poison=1' to guest kernel line, and reboot guest. 3. Create internal snapshot and revert it. (qemu) savevm sn0 (qemu) loadvm sn0 Reproduce: qemu-kvm-5.2.0-16.module+el8.4.0+12596+209e4022.10 guest kernel: 4.18.0-348.el8.x86_64 host kernel: 4.18.0-305.23.1.el8_4.x86_64 Do savevm and loadvm, hit below error. (qemu) savevm sn2 (qemu) loadvm sn2 VQ 0 size 0x80 < last_avail_idx 0x0 - used_idx 0x44 Failed to load virtio-balloon:virtio error while loading state for instance 0x0 of device '0000:00:05.0:00.0/virtio-balloon' Error: Error -1 while loading VM state (qemu) info status VM status: paused (restore-vm) Verify: qemu-kvm-5.2.0-16.module+el8.4.0+13043+9eb47245.11 guest kernel: 4.18.0-348.el8.x86_64 host kernel: 4.18.0-305.23.1.el8_4.x86_64 Guest works well after savevm and loadvm, no error hit. [1] Full QEMU cli: # /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -machine q35 \ -nodefaults \ -device VGA,bus=pcie.0,addr=0x1 \ -device pvpanic,ioport=0x505,id=id5SK4co \ -device pcie-root-port,id=pcie.0-root-port-2,slot=2,chassis=2,addr=0x2,bus=pcie.0 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0,addr=0x3 \ -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/rhel850-64-virtio-scsi.qcow2 \ -device scsi-hd,id=image1,drive=drive_image1 \ -device pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \ -device virtio-net-pci,mac=9a:39:3a:3b:3c:3d,id=idzyzw7g,vectors=4,netdev=idhia6GM,bus=pcie.0-root-port-4,addr=0x0 \ -netdev tap,id=idhia6GM \ -m 8192,slots=20,maxmem=80G \ -smp 64 \ -cpu 'Haswell-noTSX',+kvm_pv_unhalt \ -vnc :0 \ -rtc base=utc,clock=host,driftfix=slew \ -boot order=cdn,once=c,menu=off,strict=off \ -enable-kvm \ -device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \ -device virtio-balloon-pci,id=balloon0,bus=pcie.0-root-port-5\ -monitor stdio \ -serial tcp:0:1234,server,nowait \ -monitor unix:/tmp/monitor3,server,nowait \ -qmp tcp:0:3333,server,nowait
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: virt:av and virt-devel:av security and bug fix update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:4112