Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-35545

[virtio-win][viomem] Guest stuck when viomem driver version downgrade from 255 to 253

    • rhel-sst-virtualization-windows
    • ssg_virtualization
    • None
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • 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.

              virt-maint virt-maint
              rhn-support-menli Menghuan Li
              virt-maint virt-maint
              Menghuan Li Menghuan Li
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: