Bug 524022 - qemu's pci_add monitor command should not exit() if the NIC model is not valid
Summary: qemu's pci_add monitor command should not exit() if the NIC model is not valid
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: qemu
Version: rawhide
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Glauber Costa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F12VirtTarget
TreeView+ depends on / blocked
 
Reported: 2009-09-17 16:05 UTC by Vladimir Benes
Modified: 2009-09-28 16:46 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-28 16:46:21 UTC


Attachments (Terms of Use)
virt-manager.log (6.41 KB, text/plain)
2009-09-17 16:07 UTC, Vladimir Benes
no flags Details

Description Vladimir Benes 2009-09-17 16:05:34 UTC
Description of problem:
when I attach network device then detach it and then attach it again virtual guest goes down with this message in /var/log/libvirt/qemu/$guest.log:
char device redirected to /dev/pts/0
qemu: Unsupported NIC model: �c��
qemu: Supported NIC models: 
ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio


Version-Release number of selected component (if applicable):
qemu-kvm-0.10.92-4.fc12.x86_64
qemu-common-0.10.92-4.fc12.x86_64
qemu-system-x86-0.10.92-4.fc12.x86_64
qemu-kvm-tools-0.10.92-4.fc12.x86_64
qemu-img-0.10.92-4.fc12.x86_64

libvirt-0.7.1-4.fc12.x86_64
virt-viewer-0.2.0-1.fc12.x86_64
libvirt-client-0.7.1-4.fc12.x86_64
virt-manager-0.8.0-3.fc12.noarch
virt-top-1.0.3-5.fc12.x86_64
python-virtinst-0.500.0-2.fc12.noarch
libvirt-python-0.7.1-4.fc12.x86_64
virt-mem-0.3.1-9.fc12.x86_64

kernel-2.6.31-14.fc12.x86_64

How reproducible:


Steps to Reproduce:
1.install virt guest and delete all NIC devices
2.power on guest
3.attach new NIC (NAT type)
4.detach that NIC again
5.attach that NIC again
  
Actual results:
guest is stopped with this question:

Are you sure you want to add this device?

This device could not be attached to the running machine. Would you like to make the device available after the next VM shutdown?

Warning: this will overwrite any other changes that require a VM reboot.

Expected results:
guest still running and NIC attached again

Additional info:

Comment 1 Vladimir Benes 2009-09-17 16:07:33 UTC
Created attachment 361520 [details]
virt-manager.log

Comment 2 Mark McLoughlin 2009-09-17 16:36:27 UTC
This looks like two issues with qemu:

  1) When not passed a model and you do pci_add/pci_del/pci_add with no
     model= parameter, it seems to get the parameters confused

  2) It exits when you pass an invalid model= via pci_add rather than
     just printing an error

Comment 3 Glauber Costa 2009-09-17 20:30:04 UTC
This is a trivial use-after-free bug.

I've just sent a patch upstream

Comment 4 Mark McLoughlin 2009-09-18 12:13:09 UTC
Patch is here:

http://lists.gnu.org/archive/html/qemu-devel/2009-09/msg01196.html

Still need to fix (2), though

Comment 5 Mark McLoughlin 2009-09-23 11:33:40 UTC
Patch applied in rawhide now, thanks

* Wed Sep 23 2009 Mark McLoughlin <markmc@redhat.com> - 2:0.10.92-5
- Fix issue causing NIC hotplug confusion when no model is specified (#524022)

Leaving it open to fix the other issue

Comment 6 Mark McLoughlin 2009-09-28 16:46:21 UTC
Should be fixed in rawhide now thanks to a cherry-pick from Markus's series here:

  http://lists.gnu.org/archive/html/qemu-devel/2009-09/threads.html#01585

* Mon Sep 28 2009 Mark McLoughlin <markmc@redhat.com> - 2:0.11.0-2
- Fix pci hotplug to not exit if supplied an invalid NIC model (#524022)


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