-
Bug
-
Resolution: Not a Bug
-
Normal
-
rhel-9.5
-
None
-
Important
-
rhel-sst-virtualization-windows
-
ssg_virtualization
-
None
-
QE ack
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
None
-
None
-
-
x86_64
-
Windows
-
None
Description of problem:
Guest stuck when viomem driver version downgrade from 255 to 253
Version-Release number of selected component (if applicable):
kernel-5.14.0-437.el9.x86_64
qemu-kvm-8.2.0-11.el9_4.x86_64
edk2-ovmf-20240214-2.el9.noarch
seabios-bin-1.16.3-2.el9.noarch
virtio-win-prewhql-255.iso
How reproducible:
100%
Steps to Reproduce:
1. Boot a win2025 guest with a viomem device
/usr/libexec/qemu-kvm \
-name 'avocado-vt-vm3' \
-machine q35 \
-nodefaults \
-vga std \
-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x3 \
-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x3.0x1 \
-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x3.0x2 \
-device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x3.0x3 \
-device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x3.0x4 \
-device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x3.0x5 \
-device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x3.0x6 \
-device pcie-root-port,port=0x17,chassis=8,id=pci.8,bus=pcie.0,addr=0x3.0x7 \
-device virtio-net-pci,mac=9a:36:83:b6:3d:05,id=idJVpmsF,netdev=id23ZUK6,bus=pci.3 \
-netdev tap,id=id23ZUK6,vhost=on \
-blockdev node-name=file_stg2,driver=file,cache.direct=on,cache.no-flush=off,filename=win2025.qcow2,aio=threads \
-blockdev node-name=drive_stg2,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_stg2 \
-device virtio-blk-pci,id=stg2,drive=drive_stg2 \
-smp 8 \
-cpu host \
-drive id=drive_cd1,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/kvm_autotest_root/iso/ISO/Win2025/windows_server_2025_x64_dvd.iso \
-device ide-cd,id=cd2,drive=drive_cd1,bus=ide.0,unit=0 \
-cdrom /home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-255.iso \
-device piix3-usb-uhci,id=usb -device usb-tablet,id=input0 \
-vnc :10 \
-rtc base=localtime,clock=host,driftfix=slew \
-boot order=cdn,once=c,menu=off,strict=off \
-enable-kvm \
-qmp tcp:0:1231,server,nowait \
-monitor stdio \
-m 4G,maxmem=80G,slots=20 \
-object memory-backend-ram,id=vmem0,size=8G \
-device virtio-mem-pci,id=vm0,memdev=vmem0,node=0,requested-size=3G,bus=pci.4 \
-drive file=/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/home/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \
\
2. change the driver iso to 253 build
(qemu) change ide2-cd0 /home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-253.iso
3. downgrade the viomem driver from 255 to 253
Actual results:
Guest stuck!
(qemu) KVM internal error. Suberror: 1
extra data[0]: 0x0000000000000000
extra data[1]: 0x0000000000000030
extra data[2]: 0x0000000000000d82
extra data[3]: 0x00000000800000d1
extra data[4]: 0x0000000000000000
extra data[5]: 0x0000000000000000
emulation failure
RAX=0000000000000000 RBX=ffffd08c540f1aa0 RCX=ffffcc8b88340000 RDX=0000000000000000
RSI=ffffd08c566c92f8 RDI=ffffd08c566c92f0 RBP=ffff9c024b15f4b9 RSP=ffff9c024b15f418
R8 =0000000000000080 R9 =0000000000000001 R10=fffff8079d8e68a0 R11=0000000000000001
R12=ffff9c024d30e7f8 R13=fffff8072b0b3180 R14=0000000000000000 R15=ffffd08c52ee6080
RIP=fffff80734ad72ef RFL=00040286 [--S--P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
CS =0010 0000000000000000 00000000 00209b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 00000000 00409300 DPL=0 DS [-WA]
DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
FS =0053 0000000000000000 00007c00 0040f300 DPL=3 DS [-WA]
GS =002b ffffbc81327d6000 ffffffff 00c0f300 DPL=3 DS [-WA]
LDT=0000 0000000000000000 ffffffff 00c00000
TR =0040 ffffbc81327e6000 00000067 00008b00 DPL=0 TSS64-busy
GDT= ffffbc81327e7fb0 00000057
IDT= ffffbc81327e5000 00000fff
CR0=80050033 CR2=000002a88c0a2760 CR3=00000000001bf002 CR4=00370e78
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000d01
Code=?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? <??> ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
(qemu)
(qemu)
(qemu) info status
VM status: paused (internal-error)
(qemu)
Expected results:
viomem driver version can be downgrade from 255 to 253 successfully.