Red Hat Bugzilla – Bug 907160
virtio win network driver broken with extended config space
Last modified: 2014-10-09 01:42:28 EDT
Description of problem: virtio win network driver assumes config space size is 32 bytes. This breaks with future extensions such as multiqueue. It should assume >= 32 instead. Version-Release number of selected component (if applicable): 22 Jan 2013 How reproducible: always Steps to Reproduce: 1. check out qemu v1.4.0-rc0 3. start guest and load virtio win drivers Actual results: Windows displays a yellow exclamation mark near the virtio-net device and says it can't start the device (Code 10). Expected results: Windows driver starts and works as expected. Additional info: qemu-1.4 will include work around where using -M pc-1.3 will let driver load. Besides -M pc-1.3, another work around would be: -global virtio-net-pci.mq=off
(In reply to comment #0) > Description of problem: > virtio win network driver assumes config space size is 32 bytes. > This breaks with future extensions such as multiqueue. > It should assume >= 32 instead. > > > Version-Release number of selected component (if applicable): > 22 Jan 2013 > > How reproducible: > always > > Steps to Reproduce: > 1. check out qemu v1.4.0-rc0 > 3. start guest and load virtio win drivers > > Actual results: > Windows displays a yellow exclamation mark near the virtio-net device and > says it can't start the device (Code 10). > > > Expected results: > Windows driver starts and works as expected. > > Additional info: > qemu-1.4 will include work around where using -M pc-1.3 will > let driver load. > Besides -M pc-1.3, another work around would be: > > -global virtio-net-pci.mq=off MST,Yan ,Can this be a RHEL7 virtio-win bug ?
Note that checking config >= 32 is also wrong. The smalest legal size is 20 without MSIX and 24 with MSIX. The rest of the fields are optional, each has a feature bit. So driver should check feature before checking size. For example: if (feature & F_MAC && size < offsetof(config.mac) + sizeof(config.mac)) return FAIL.
*** Bug 921841 has been marked as a duplicate of this bug. ***
How to test: 1. Run QEMU with virtio-net-pci with enabled multi-queue feature. 2. Install the driver 3. The driver should be installed correctly according to device manager.
lijin ,pls verify it on RHEL7 host
Reproduced this issue on virtio-win-prewhql-0.1-53 version Verified this issue on virtio-win-prewhql-0.1-63 verion steps same as comment #9 Actual Results: on virtio-win-prewhql-0.1-53, Device Manager displays a yellow exclamation mark on the virtio-net-pci device; on virtio-win-prewhql-0.1-63,netkvm driver can be install successfully and works normally. Based on above ,this issue has been fixed already.
Move status to VERIFIED Based on comment #11 BTW,Yan Actually this issue is fixed in build 54 instead of build 59
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, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1729.html