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

[virtio-win] [virtio-serial] write chardev failed: invalid argument

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • rhel-10.1
    • virtio-win
    • None
    • [virtio-win] [virtio-serial] write chardev failed: invalid argment
    • None
    • Bug
    • rhel-virt-windows
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • All
    • None

      *Describe the bug*
      I have a chardev use to write screen info to spice, After multiple write and pauses, the chardev channel becomes unwriteable. And give the error "invalid argment".
      the chardev xml as follow:
      ```xml
      <channel type='spiceport'>
      <source channel='org.test.raw.0'/>
      <target type='virtio' name='org.test.raw.0' state='disconnected'/>
      <alias name='channel16'/>
      <address type='virtio-serial' controller='0' bus='0' port='17'/>
      </channel>
      ```

      *To Reproduce*
      1.multiple write and pauses the chardev
      2. chardev channel becomes unwriteable
      3. qemu backend can't get the data
      4. reboot vm and it recovery(not destroy qemu progress,reboot in vm)

      *Expected behavior*
      write is not error,qemu can get the write data.

      *Screenshots*
      vm write code:

      <img width="646" height="195" alt="Image" src="https://github.com/user-attachments/assets/9814d099-d1eb-4b56-a261-4b52020962a7" />

      Normal situation, we can see spice_vm_read be called.
      <img width="880" height="135" alt="Image" src="https://github.com/user-attachments/assets/ffac4eb8-5ece-4b26-8e43-de30664c2a63" />

      After unwriteable, I have a code to test it, it get the error: "invalid argment"
      <img width="465" height="297" alt="Image" src="https://github.com/user-attachments/assets/cb5e19c1-1ac7-4cb4-aa2b-5aeee1349941" />

      test code:
      ```
      #include <cstdio>
      #include <cstring>
      #include <thread>
      #include <chrono>

      #define WRITE_IO "\\\\.\\Global
      org.test.raw.0"

      int main(int argc, char* argv[])
      {

      const char* path = WRITE_IO;
      // const char* path = argv[1];
      printf("Opening %s ...\n", path);

      FILE* fp = fopen(path, "wb");
      if (!fp)

      { perror("fopen failed"); return 1; }

      printf("Start writing. Press Ctrl+C to stop.\n");

      int counter = 0;
      while (true)
      {
      char buf[4096 + 5];
      int len = snprintf(buf, sizeof(buf), "Hello %d\n", counter++);

      size_t written = fwrite(buf, 1, 4096, fp);
      fflush(fp);

      if (written != (size_t)4096)

      { printf("Write error, written=%zu errno=%d desc[%s]\n", written, errno, strerror(errno)); continue; }

      printf("Written: %s", buf);
      std::this_thread::sleep_for(std::chrono::milliseconds(10));
      }

      fclose(fp);
      return 0;
      }
      ```

      *Host:*

      • Disto: [Centos]
      • Kernel version:5.10
      • QEMU version:6.2.0
      • QEMU command line
        ```
        /usr/bin/qemu-system-x86_64 -name guest=GDTa7f7ce88-d401-4faa-b7ba-9147d48935ff,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-926-GDTa7f7ce88-d401-4fa/master-key.aes"}

        -machine pc-i440fx-6.2,accel=kvm,usb=off,dump-guest-core=off -cpu Skylake-Server-IBRS,vmx=off,hypervisor=on,mpx=off,pku=on,hv-time,kvm-pv-eoi=on,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff -m size=8388608k,slots=64,maxmem=536870912k -overcommit mem-lock=off -smp 8,maxcpus=16,sockets=1,dies=1,cores=16,threads=1 -object

        {"qom-type":"memory-backend-ram","id":"ram-node0","size":8589934592}

        -numa node,nodeid=0,cpus=0-7,memdev=ram-node0 -uuid a7f7ce88-d401-4faa-b7ba-9147d48935ff -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=57,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device pci-bridge,chassis_nr=1,id=pci.1,bus=pci.0,addr=0x2 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.0,addr=0x3 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device nec-usb-xhci,id=usb1,bus=pci.0,addr=0xa -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6 -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x7 -device ahci,id=sata0,bus=pci.0,addr=0x8 -device ahci,id=sata1,bus=pci.0,addr=0x9 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0xb -global isa-fdc.bootindexA=3 -device ide-cd,bus=ide.1,unit=1,id=ide0-1-1,bootindex=2 -device floppy,unit=0,id=fdc0-0-0 -blockdev

        Unknown macro: {"driver"}

        -blockdev

        Unknown macro: {"node-name"}

        -device ide-hd,bus=sata0.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1,logical_block_size=512,physical_block_size=4096,write-cache=on -netdev tap,fd=59,id=hostnet0,vhost=on,vhostfd=61 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:56:ff:11:22:a4,bus=pci.0,addr=0x5 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -chardev socket,id=charchannel0,fd=62,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -chardev socket,id=charchannel1,fd=63,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.client_guest_tool.0 -chardev socket,id=charchannel2,fd=64,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,id=channel2,name=org.qemu.client_guest_tool.1 -chardev socket,id=charchannel3,fd=65,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=4,chardev=charchannel3,id=channel3,name=test_clip_board.0 -chardev socket,id=charchannel4,fd=66,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=5,chardev=charchannel4,id=channel4,name=test_clip_board.1 -chardev socket,id=charchannel5,fd=67,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=6,chardev=charchannel5,id=channel5,name=test_shared_dir.0 -chardev socket,id=charchannel6,fd=68,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=7,chardev=charchannel6,id=channel6,name=test_shared_dir.1 -chardev socket,id=charchannel7,fd=69,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=8,chardev=charchannel7,id=channel7,name=test_shared_file.0 -chardev socket,id=charchannel8,fd=70,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=9,chardev=charchannel8,id=channel8,name=test_shared_file.1 -chardev socket,id=charchannel9,fd=71,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=10,chardev=charchannel9,id=channel9,name=test_network_printer.1 -chardev socket,id=charchannel10,fd=72,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=11,chardev=charchannel10,id=channel10,name=test_network_printer.0 -chardev socket,id=charchannel11,fd=73,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=12,chardev=charchannel11,id=channel11,name=test_smb_path.0 -chardev socket,id=charchannel12,fd=74,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=13,chardev=charchannel12,id=channel12,name=test_record_ctl.0 -chardev socket,id=charchannel13,fd=75,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=14,chardev=charchannel13,id=channel13,name=test_record_data.0 -chardev spicevmc,id=charchannel14,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=15,chardev=charchannel14,id=channel14,name=com.redhat.spice.0 -chardev spiceport,id=charchannel15,name=org.spice-space.webdav.0 -device virtserialport,bus=virtio-serial0.0,nr=16,chardev=charchannel15,id=channel15,name=org.spice-space.webdav.0 -chardev spiceport,id=charchannel16,name=org.test.raw.0 -device virtserialport,bus=virtio-serial0.0,nr=17,chardev=charchannel16,id=channel16,name=org.test.raw.0 -chardev spiceport,id=charchannel17,name=org.test.cam.0 -device virtserialport,bus=virtio-serial0.0,nr=18,chardev=charchannel17,id=channel17,name=org.test.cam.0 -chardev pty,id=charconsole1 -device virtconsole,chardev=charconsole1,id=console1 -device usb-tablet,id=input0,bus=usb.0,port=1 -device usb-kbd,id=input1,bus=usb1.0,port=1 -device usb-mouse,id=input2,bus=usb1.0,port=2 -spice port=5911,addr=::0.0.0.0,image-compression=glz,jpeg-wan-compression=always,streaming-video=filter,seamless-migration=on -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0,bus=usb1.0,port=3 -device vfio-pci,id=hostdev0,sysfsdev=/sys/bus/mdev/devices/67a3e786-97e3-4dcd-8f2e-979044bff3fb,display=on,bus=pci.0,addr=0xc -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0xd -device pvpanic -msg timestamp=on

      ```

      • libvirt version: 6.2.0
      • libvirt XML file:
        ```xml
        <domain type='kvm' id='926' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
        <name>GDTa7f7ce88-d401-4faa-b7ba-9147d48935ff</name>
        <uuid>a7f7ce88-d401-4faa-b7ba-9147d48935ff</uuid>
        <maxMemory slots='64' unit='KiB'>536870912</maxMemory>
        <memory unit='KiB'>8388608</memory>
        <currentMemory unit='KiB'>8388608</currentMemory>
        <vcpu placement='static' current='8'>16</vcpu>
        <cputune>
        <vcpupin vcpu='0' cpuset='0-39'/>
        <vcpupin vcpu='1' cpuset='0-39'/>
        <vcpupin vcpu='2' cpuset='0-39'/>
        <vcpupin vcpu='3' cpuset='0-39'/>
        <vcpupin vcpu='4' cpuset='0-39'/>
        <vcpupin vcpu='5' cpuset='0-39'/>
        <vcpupin vcpu='6' cpuset='0-39'/>
        <vcpupin vcpu='7' cpuset='0-39'/>
        </cputune>
        <resource>
        <partition>/machine</partition>
        </resource>
        <os>
        <type arch='x86_64' machine='pc-i440fx-6.2'>hvm</type>
        </os>
        <features>
        <acpi/>
        <apic eoi='on'/>
        <pae/>
        <hyperv>
        <relaxed state='on'/>
        <vapic state='on'/>
        <spinlocks state='on' retries='8191'/>
        </hyperv>
        </features>
        <cpu mode='custom' match='exact' check='full'>
        <model fallback='forbid'>Skylake-Server-IBRS</model>
        <topology sockets='1' dies='1' cores='16' threads='1'/>
        <feature policy='disable' name='vmx'/>
        <feature policy='require' name='hypervisor'/>
        <feature policy='disable' name='mpx'/>
        <feature policy='require' name='pku'/>
        <numa>
        <cell id='0' cpus='0-7' memory='8388608' unit='KiB'/>
        </numa>
        </cpu>
        <clock offset='localtime'>
        <timer name='hypervclock' present='yes'/>
        </clock>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>preserve</on_crash>
        <pm>
        <suspend-to-mem enabled='no'/>
        <suspend-to-disk enabled='no'/>
        </pm>
        <devices>
        <emulator>/usr/bin/qemu-system-x86_64</emulator>
        <disk type='file' device='cdrom'>
        <driver name='qemu'/>
        <target dev='hdd' bus='ide'/>
        <readonly/>
        <boot order='2'/>
        <alias name='ide0-1-1'/>
        <address type='drive' controller='0' bus='1' target='0' unit='1'/>
        </disk>
        <disk type='file' device='floppy'>
        <driver name='qemu'/>
        <target dev='fda' bus='fdc'/>
        <readonly/>
        <boot order='3'/>
        <alias name='fdc0-0-0'/>
        <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
        <disk type='network' device='disk'>
        <driver name='qemu' type='raw' cache='none' io='threads'/>
        <source protocol='iscsi' name='iqn.2018-11.test.com.cn:2cce1e8a-247b-4b7b-8f66-6c3093909aefid68000020/1' index='1'>
        <host name='10.30.16.21' port='20104'/>
        </source>
        <blockio logical_block_size='512' physical_block_size='4096'/>
        <target dev='sda' bus='sata'/>
        <boot order='1'/>
        <alias name='sata0-0-0'/>
        <address type='drive' controller='0' bus='0' target='0' unit='0'/>
        </disk>
        <controller type='pci' index='0' model='pci-root'>
        <alias name='pci.0'/>
        </controller>
        <controller type='pci' index='1' model='pci-bridge'>
        <model name='pci-bridge'/>
        <target chassisNr='1'/>
        <alias name='pci.1'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
        </controller>
        <controller type='pci' index='2' model='pci-bridge'>
        <model name='pci-bridge'/>
        <target chassisNr='2'/>
        <alias name='pci.2'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
        </controller>
        <controller type='scsi' index='0' model='virtio-scsi'>
        <alias name='scsi0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </controller>
        <controller type='scsi' index='1' model='virtio-scsi'>
        <alias name='scsi1'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
        </controller>
        <controller type='sata' index='0'>
        <alias name='sata0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
        </controller>
        <controller type='sata' index='1'>
        <alias name='sata1'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
        </controller>
        <controller type='usb' index='0' model='piix3-uhci'>
        <alias name='usb'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
        </controller>
        <controller type='usb' index='1' model='nec-xhci'>
        <alias name='usb1'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
        </controller>
        <controller type='fdc' index='0'>
        <alias name='fdc0'/>
        </controller>
        <controller type='ide' index='0'>
        <alias name='ide'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
        </controller>
        <controller type='virtio-serial' index='0'>
        <alias name='virtio-serial0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
        </controller>
        <interface type='bridge'>
        <mac address='52:56:ff:11:22:a4'/>
        <source bridge='managerbr'/>
        <virtualport type='openvswitch'>
        <parameters interfaceid='ddc28dce-954d-4591-9989-a3c8e73d7a4c'/>
        </virtualport>
        <target dev='vir5256ff1122a4'/>
        <model type='virtio'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
        </interface>
        <serial type='pty'>
        <source path='/dev/pts/34'/>
        <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
        </target>
        <alias name='serial0'/>
        </serial>
        <serial type='pty'>
        <source path='/dev/pts/35'/>
        <target type='isa-serial' port='1'>
        <model name='isa-serial'/>
        </target>
        <alias name='serial1'/>
        </serial>
        <console type='pty' tty='/dev/pts/34'>
        <source path='/dev/pts/34'/>
        <target type='serial' port='0'/>
        <alias name='serial0'/>
        </console>
        <console type='pty'>
        <source path='/dev/pts/36'/>
        <target type='virtio' port='1'/>
        <alias name='console1'/>
        </console>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.agent'/>
        <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
        <alias name='channel0'/>
        <address type='virtio-serial' controller='0' bus='0' port='1'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock'/>
        <target type='virtio' name='org.qemu.client_guest_tool.0' state='connected'/>
        <alias name='channel1'/>
        <address type='virtio-serial' controller='0' bus='0' port='2'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.2'/>
        <target type='virtio' name='org.qemu.client_guest_tool.1' state='connected'/>
        <alias name='channel2'/>
        <address type='virtio-serial' controller='0' bus='0' port='3'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.3'/>
        <target type='virtio' name='test_clip_board.0' state='disconnected'/>
        <alias name='channel3'/>
        <address type='virtio-serial' controller='0' bus='0' port='4'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.4'/>
        <target type='virtio' name='test_clip_board.1' state='disconnected'/>
        <alias name='channel4'/>
        <address type='virtio-serial' controller='0' bus='0' port='5'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.5'/>
        <target type='virtio' name='test_shared_dir.0' state='disconnected'/>
        <alias name='channel5'/>
        <address type='virtio-serial' controller='0' bus='0' port='6'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.6'/>
        <target type='virtio' name='test_shared_dir.1' state='disconnected'/>
        <alias name='channel6'/>
        <address type='virtio-serial' controller='0' bus='0' port='7'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.7'/>
        <target type='virtio' name='test_shared_file.0' state='disconnected'/>
        <alias name='channel7'/>
        <address type='virtio-serial' controller='0' bus='0' port='8'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.8'/>
        <target type='virtio' name='test_shared_file.1' state='disconnected'/>
        <alias name='channel8'/>
        <address type='virtio-serial' controller='0' bus='0' port='9'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.9'/>
        <target type='virtio' name='test_network_printer.1' state='disconnected'/>
        <alias name='channel9'/>
        <address type='virtio-serial' controller='0' bus='0' port='10'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.10'/>
        <target type='virtio' name='test_network_printer.0' state='disconnected'/>
        <alias name='channel10'/>
        <address type='virtio-serial' controller='0' bus='0' port='11'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.11'/>
        <target type='virtio' name='test_smb_path.0' state='connected'/>
        <alias name='channel11'/>
        <address type='virtio-serial' controller='0' bus='0' port='12'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.12'/>
        <target type='virtio' name='test_record_ctl.0' state='disconnected'/>
        <alias name='channel12'/>
        <address type='virtio-serial' controller='0' bus='0' port='13'/>
        </channel>
        <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/a7f7ce88-d401-4faa-b7ba-9147d48935ff.sock.13'/>
        <target type='virtio' name='test_record_data.0' state='disconnected'/>
        <alias name='channel13'/>
        <address type='virtio-serial' controller='0' bus='0' port='14'/>
        </channel>
        <channel type='spicevmc'>
        <target type='virtio' name='com.redhat.spice.0' state='connected'/>
        <alias name='channel14'/>
        <address type='virtio-serial' controller='0' bus='0' port='15'/>
        </channel>
        <channel type='spiceport'>
        <source channel='org.spice-space.webdav.0'/>
        <target type='virtio' name='org.spice-space.webdav.0' state='disconnected'/>
        <alias name='channel15'/>
        <address type='virtio-serial' controller='0' bus='0' port='16'/>
        </channel>
        <channel type='spiceport'>
        <source channel='org.test.raw.0'/>
        <target type='virtio' name='org.test.raw.0' state='disconnected'/>
        <alias name='channel16'/>
        <address type='virtio-serial' controller='0' bus='0' port='17'/>
        </channel>
        <channel type='spiceport'>
        <source channel='org.test.cam.0'/>
        <target type='virtio' name='org.test.cam.0' state='disconnected'/>
        <alias name='channel17'/>
        <address type='virtio-serial' controller='0' bus='0' port='18'/>
        </channel>
        <input type='tablet' bus='usb'>
        <alias name='input0'/>
        <address type='usb' bus='0' port='1'/>
        </input>
        <input type='keyboard' bus='usb'>
        <alias name='input1'/>
        <address type='usb' bus='1' port='1'/>
        </input>
        <input type='mouse' bus='usb'>
        <alias name='input2'/>
        <address type='usb' bus='1' port='2'/>
        </input>
        <input type='mouse' bus='ps2'>
        <alias name='input3'/>
        </input>
        <input type='keyboard' bus='ps2'>
        <alias name='input4'/>
        </input>
        <graphics type='spice' port='5911' autoport='yes' listen='::0.0.0.0'>
        <listen type='address' address='::0.0.0.0'/>
        <image compression='glz'/>
        <jpeg compression='always'/>
        <streaming mode='filter'/>
        </graphics>
        <sound model='ich6'>
        <codec type='duplex'/>
        <alias name='sound0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
        </sound>
        <video>
        <model type='none'/>
        <alias name='video0'/>
        </video>
        <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on'>
        <source>
        <address uuid='67a3e786-97e3-4dcd-8f2e-979044bff3fb'/>
        </source>
        <alias name='hostdev0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
        </hostdev>
        <redirdev bus='usb' type='spicevmc'>
        <alias name='redir0'/>
        <address type='usb' bus='1' port='3'/>
        </redirdev>
        <memballoon model='virtio'>
        <alias name='balloon0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
        </memballoon>
        <panic model='isa'/>
        </devices>
        <seclabel type='dynamic' model='dac' relabel='yes'>
        <label>+0:+0</label>
        <imagelabel>+0:+0</imagelabel>
        </seclabel>
        <qemu:commandline>
        <qemu:env name='G_MESSAGES_DEBUG' value='Spice'/>
        </qemu:commandline>
        </domain>
        ```

      *VM:*

      • Windows version : win10 (bios)
      • Which driver has a problem: virtio-win 2018 latest

              virtio-win-bugs Virt Windows SST Bugs
              yvugenfi@redhat.com Yan Vugenfirer
              Virt Windows SST Bugs Virt Windows SST Bugs
              Meng Dehan Meng Dehan
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated: