Bug 1031098 - Disable device smbus-eeprom
Disable device smbus-eeprom
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Markus Armbruster
Virtualization Bugs
:
Depends On:
Blocks: 720747
  Show dependency treegraph
 
Reported: 2013-11-15 10:38 EST by Markus Armbruster
Modified: 2014-06-17 23:42 EDT (History)
5 users (show)

See Also:
Fixed In Version: qemu-kvm-1.5.3-38.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-13 06:28:21 EDT
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)

  None (edit)
Description Markus Armbruster 2013-11-15 10:38:58 EST
Description of problem:
Device smbus-eeprom is an onboard device.  Users should not be able to plug additional instances.

How reproducible:
Always

Steps to Reproduce:
1. qemu-kvm -nodefaults -display none -device smbus-eeprom

Actual results:
-device smbus-eeprom is accepted

Expected results:
-device smbus-eeprom is rejected, just like -device nonexistant
Comment 2 Markus Armbruster 2013-12-16 10:09:03 EST
Proposed upstream fix: https://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg03997.html
Comment 3 Miroslav Rezanina 2014-01-17 08:27:23 EST
Fix included in qemu-kvm-1.5.3-38.el7
Comment 5 Qian Guo 2014-01-21 02:26:44 EST
Reproduced this bug by qemu-kvm-1.5.3-19.el7.x86_64

Steps:
1. Check the devices that qemu-kvm supported:
# /usr/libexec/qemu-kvm -device ? 
Controller/Bridge/Hub devices:
...
name "pc-testdev", bus ISA
name "pci-testdev", bus PCI, desc "PCI Test Device"
name "smbus-eeprom", bus i2c-bus                    ---- this is supported
name "usb-redir", bus usb-bus
name "usb-tablet", bus usb-bus
name "vfio-pci", bus PCI, desc "VFIO-based PCI device assignment"
...

2.Launch qemu with smbus-eeprom
# /usr/libexec/qemu-kvm -nodefaults -display none -device smbus-eeprom -monitor stdio
QEMU 1.5.3 monitor - type 'help' for more information
(qemu) info qtree
bus: main-system-bus
...
       smb_io_base = 45312
...
        bus: i2c
          type i2c-bus
          dev: smbus-eeprom, id ""
            address = 0
          dev: smbus-eeprom, id ""
            address = 87
          dev: smbus-eeprom, id ""
            address = 86
          dev: smbus-eeprom, id ""
            address = 85
          dev: smbus-eeprom, id ""
            address = 84
          dev: smbus-eeprom, id ""
            address = 83
          dev: smbus-eeprom, id ""
            address = 82
          dev: smbus-eeprom, id ""
            address = 81
          dev: smbus-eeprom, id ""
            address = 80
...

So the qemu can be launched, this bug is reproduced.
Comment 6 Qian Guo 2014-01-21 02:39:09 EST
Try to verify this bug with qemu-kvm-1.5.3-38.el7.x86_64

Steps:
1. Check devices :
# /usr/libexec/qemu-kvm -device ?
Controller/Bridge/Hub devices:
name "i82801b11-bridge", bus PCI
name "ioh3420", bus PCI, desc "Intel IOH device id 3420 PCIE Root Port"
name "pci-bridge", bus PCI, desc "Standard PCI Bridge"
name "usb-host", bus usb-bus
name "usb-hub", bus usb-bus
name "x3130-upstream", bus PCI, desc "TI X3130 Upstream Port of PCI Express Switch"
name "xio3130-downstream", bus PCI, desc "TI X3130 Downstream Port of PCI Express Switch"

USB devices:
name "ich9-usb-ehci1", bus PCI
name "ich9-usb-ehci2", bus PCI
name "ich9-usb-uhci1", bus PCI
name "ich9-usb-uhci2", bus PCI
name "ich9-usb-uhci3", bus PCI
name "ich9-usb-uhci4", bus PCI
name "ich9-usb-uhci5", bus PCI
name "ich9-usb-uhci6", bus PCI
name "nec-usb-xhci", bus PCI
name "piix3-usb-uhci", bus PCI
name "piix4-usb-uhci", bus PCI
name "usb-ehci", bus PCI
name "vt82c686b-usb-uhci", bus PCI

Storage devices:
name "ich9-ahci", bus PCI, alias "ahci"
name "ide-cd", bus IDE, desc "virtual IDE CD-ROM"
name "ide-drive", bus IDE, desc "virtual IDE disk or CD-ROM (legacy)"
name "ide-hd", bus IDE, desc "virtual IDE disk"
name "scsi-block", bus SCSI, desc "SCSI block device passthrough"
name "scsi-cd", bus SCSI, desc "virtual SCSI CD-ROM"
name "scsi-disk", bus SCSI, desc "virtual SCSI disk or CD-ROM (legacy)"
name "scsi-generic", bus SCSI, desc "pass through generic scsi device (/dev/sg*)"
name "scsi-hd", bus SCSI, desc "virtual SCSI disk"
name "usb-bot", bus usb-bus
name "usb-storage", bus usb-bus
name "virtio-blk-device", bus virtio-bus
name "virtio-blk-pci", bus PCI, alias "virtio-blk"
name "virtio-scsi-device", bus virtio-bus
name "virtio-scsi-pci", bus PCI

Network devices:
name "e1000", bus PCI, desc "Intel Gigabit Ethernet"
name "rtl8139", bus PCI
name "virtio-net-device", bus virtio-bus
name "virtio-net-pci", bus PCI, alias "virtio-net"

Input devices:
name "ccid-card-passthru", bus ccid-bus, desc "passthrough smartcard"
name "isa-serial", bus ISA
name "pci-serial", bus PCI
name "usb-ccid", bus usb-bus, desc "CCID Rev 1.1 smartcard reader"
name "usb-kbd", bus usb-bus
name "usb-mouse", bus usb-bus
name "virtconsole", bus virtio-serial-bus
name "virtio-serial-device", bus virtio-bus
name "virtio-serial-pci", bus PCI, alias "virtio-serial"
name "virtserialport", bus virtio-serial-bus

Display devices:
name "cirrus-vga", bus PCI, desc "Cirrus CLGD 54xx VGA"
name "qxl", bus PCI, desc "Spice QXL GPU (secondary)"
name "qxl-vga", bus PCI, desc "Spice QXL GPU (primary, vga compatible)"
name "sga", bus ISA, desc "Serial Graphics Adapter"
name "VGA", bus PCI

Sound devices:
name "AC97", bus PCI, desc "Intel 82801AA AC97 Audio"
name "hda-duplex", bus HDA, desc "HDA Audio Codec, duplex (line-out, line-in)"
name "hda-micro", bus HDA, desc "HDA Audio Codec, duplex (speaker, microphone)"
name "hda-output", bus HDA, desc "HDA Audio Codec, output-only (line-out)"
name "ich9-intel-hda", bus PCI, desc "Intel HD Audio Controller (ich9)"
name "intel-hda", bus PCI, desc "Intel HD Audio Controller (ich6)"

Misc devices:
name "i6300esb", bus PCI
name "ib700", bus ISA
name "isa-debug-exit", bus ISA
name "isa-debugcon", bus ISA
name "kvm-pci-assign", bus PCI, alias "pci-assign", desc "KVM-based PCI passthrough"
name "pc-testdev", bus ISA
name "pci-testdev", bus PCI, desc "PCI Test Device"
name "usb-redir", bus usb-bus
name "usb-tablet", bus usb-bus
name "vfio-pci", bus PCI, desc "VFIO-based PCI device assignment"
name "virtio-balloon-device", bus virtio-bus
name "virtio-balloon-pci", bus PCI, alias "virtio-balloon"
name "virtio-rng-device", bus virtio-bus
name "virtio-rng-pci", bus PCI

Uncategorized devices:
name "pvpanic", bus ISA


There's no smbus-eeprom deivce there.

But when I try to launch qemu with this device:
# /usr/libexec/qemu-kvm -nodefaults -display none -monitor stdio -device smbus-eeprom
QEMU 1.5.3 monitor - type 'help' for more information
(qemu) qemu-kvm: -device smbus-eeprom: Parameter 'driver' expects device type


--> the result is that qemu just quit with the error "-device smbus-eeprom: Parameter 'driver' expects device type", this is not right since this device is not exist, so I think this bug is not fixed by qemu-kvm-1.5.3-38.el7.x86_64.


Additional info:
When try to verify this bug, I use "-device nonexistant(or any other non exist device)" to try to launch qemu, will hit bug #1026712 , see comment #7.
Comment 7 Qian Guo 2014-01-21 02:41:35 EST
(In reply to Qian Guo from comment #6)

> Additional info:
> When try to verify this bug, I use "-device nonexistant(or any other non
> exist device)" to try to launch qemu, will hit bug #1026712 , see comment #7.
qemu coredumpd when launch with -device nonexistant like this:
/usr/libexec/qemu-kvm -nodefaults -display none -device nonexistant -monitor stdio
QEMU 1.5.3 monitor - type 'help' for more information
(qemu) Segmentation fault (core dumped)
Comment 8 Qian Guo 2014-01-21 02:57:22 EST
Hi Markus

According to comment #6, the info qemu-kvm prints is not right as a nonexist device, could you help check it ?

thanks
---
# /usr/libexec/qemu-kvm -nodefaults -display none -monitor stdio -device smbus-eeprom
QEMU 1.5.3 monitor - type 'help' for more information
(qemu) qemu-kvm: -device smbus-eeprom: Parameter 'driver' expects device type
Comment 9 Markus Armbruster 2014-01-21 03:21:23 EST
Botched patch for bug 1026712 made -device nonexistant regress, fix posted already (subject: Fix -device / device_add error handling).
Comment 12 Markus Armbruster 2014-01-21 04:39:23 EST
The regression mentioned in comment#9 has been fixed in qemu-kvm-1.5.3-39.el7.
Comment 19 Ludek Smid 2014-06-13 06:28:21 EDT
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

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