Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 921200 - [NetKVM] Do not use VIRTIO_PCI_ISR for debug purposes in production code
[NetKVM] Do not use VIRTIO_PCI_ISR for debug purposes in production code
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virtio-win (Show other bugs)
6.5
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Yan Vugenfirer
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-03-13 12:52 EDT by Yan Vugenfirer
Modified: 2013-12-06 02:23 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Driver was using undocumented QEMU feature and using VIRTO_ISR to to trigger debug prints in case of BSOD or hangs in outgoing transfer. Consequence: Debug print out"virtio_ioport_write: unexpected address 0x13 value" might appear on the host. Fix: Do not use writes to VIRTIO_ISR register for debug purposes. Result: No debug printouts on the host. Guest BSODs and network hangs should be detected by other methods.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-21 19:05:34 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1729 normal SHIPPED_LIVE virtio-win bug fix and enhancement update 2013-11-20 19:39:25 EST

  None (edit)
Description Yan Vugenfirer 2013-03-13 12:52:53 EDT
Description of problem:

Current code will use VIRTIO_PCI_ISR register to notify host regarding two conditions on the guest:

1. BSOD (write 0).
2. Hanged TX transfer (write 1).

This is a hacky way that was used for host\guest debugging. Should be removed from production code as such behavior is not described in virtio spec.



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 1 Yan Vugenfirer 2013-04-07 10:47:17 EDT
Guest driver will no longer write to VIRTIO_PCI_ISR register.

This behavior could be enabled for debugging in compile time with  DBG_USE_VIRTIO_PCI_ISR_FOR_HOST_REPORT define.
Comment 3 Mike Cao 2013-04-12 02:41:35 EDT
Pls provide a way for QE to verify it ,
Comment 4 Yan Vugenfirer 2013-04-18 04:25:07 EDT
Testing:

1. Cause BSOD on guest.

2. You QEMU shouldn't see QEMU printouts on the host notifying of incorrect write to virtio register.
Comment 6 guo jiang 2013-06-16 23:37:37 EDT
Verified this issue on virtio-win-prewhql-0.1.64

Steps same as comment #4

Actual Result:
on virtio-win-prewhql-0.1-64 QEMU didn't see QEMU printouts on the host notifying of incorrect write to virtio register.

Based on above, this issue has been fixed already.
Comment 7 guo jiang 2013-06-17 02:06:33 EDT
Reproduced this issue on virtio-win-prewhql-0.1.49
Verified this issue on virtio-win-prewhql-0.1.64

Steps:
1.Boot guest with CLI:
/usr/libexec/qemu-kvm -M rhel6.4.0 -m 2G -smp 4,cores=4 -cpu cpu64-rhel6,+x2apic -usb -device usb-tablet -drive file=win2k3-32.raw,format=raw,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,sndbuf=0,id=hostnet0,vhost=on,script=/etc/qemu-ifup-private,downscript=no -device virtio-net-pci,netdev=hostnet0,mac=00:13:34:25:22:41,bus=pci.0,addr=0x4,id=virtio-net-pci0 -netdev tap,sndbuf=0,id=hostnet2,script=/etc/qemu-ifup,downscript=no -device e1000,netdev=hostnet2,mac=00:23:30:25:12:10,bus=pci.0,addr=0x6 -uuid d9a27a4b-13f5-4d6a-8a8c-25269bcc1535 -rtc-td-hack -no-kvm-pit-reinjection -rtc base=localtime,clock=host,driftfix=slew -chardev socket,id=111a,path=/tmp/monitor-win2k3-32-network,server,nowait -mon chardev=111a,mode=readline -name win2k3-32-network -vnc :1 -vga cirrus -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -monitor stdio

2.Enable the keyboard-initiated crash in the registry. In the registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters, create a DWORD key named CrashOnCtrlScroll and value is 0x01.

3.reboot

4.Press "CTRL+SCROLL LOCK+SCROLL LOCK" keyboard shortcut to generate a BSOD.

Actual Result:
on virtio-win-prewhql-0.1-49 QEMU monitor show "virtio_ioport_write: unexpected address 0x13 value 0x1" on the host.
on virtio-win-prewhql-0.1-64 QEMU didn't see QEMU printouts on the host notifying of incorrect write to virtio register.

Based on above, this issue has been fixed already.
Comment 8 Mike Cao 2013-06-17 02:29:48 EDT
Move Status to VERIFIED according to comment #7
Comment 13 errata-xmlrpc 2013-11-21 19:05:34 EST
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

Note You need to log in before you can comment on or make changes to this bug.