Bug 961252
Summary: | Do not add <backend> element to TPM device will cause libvirtd crash | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | EricLee <bili> | ||||
Component: | libvirt | Assignee: | Ján Tomko <jtomko> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 7.0 | CC: | acathrow, dyuan, jtomko, mzhan, ydu, zhwang | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | libvirt-1.0.5-2.el7 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2014-06-13 12:57:18 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Upstream patch proposed: https://www.redhat.com/archives/libvir-list/2013-May/msg00651.html Fixed upstream by: commit 1d96440a060869fb4c26ce35fe165e6e68168885 Author: Ján Tomko <jtomko> AuthorDate: 2013-05-09 12:33:11 +0200 Commit: Ján Tomko <jtomko> CommitDate: 2013-05-09 14:25:11 +0200 conf: don't crash on a tpm device with no backends Print an error instead of crashing when a TPM device without a backend is specified. Add a test for tpm device with no backend, which should fail with a parse error. https://bugzilla.redhat.com/show_bug.cgi?id=961252 git describe: v1.0.5-112-g1d96440 # rpm -q libvirt libvirt-1.0.5-2.el7.x86_64 When add a TPM device(do not give backend element) to guest xml # virsh edit guest error: XML error: missing TPM device backend Failed. Try again? [y,n,f,?]: error: XML error: missing TPM device backend Failed. Try again? [y,n,f,?]: error: XML error: missing TPM device backend Failed. Try again? [y,n,f,?]: error: XML error: missing TPM device backend Failed. Try again? [y,n,f,?]: error: XML error: missing TPM device backend Failed. Try again? [y,n,f,?]: # systemctl status libvirtd libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: active (running) since Tue 2013-05-21 13:08:01 CST; 29min ago Main PID: 2309 (libvirtd) CGroup: name=systemd:/system/libvirtd.service ├─2198 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf └─2309 /usr/sbin/libvirtd libvirtd still running, so this bug can verify. 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. |
Created attachment 745585 [details] libvirtd crash log Description Do not add <backend> element to TPM device will cause libvirtd crash Version: libvirt-1.0.5-1.el7.x86_64 qemu-kvm-1.4.0-4.el7.x86_64 kernel-3.9.0-0.55.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. Add TPM device(do not give backend element) to guest xml <tpm model='tpm-tis'> <!--backend type='passthrough'--> <!--device path='/dev/tpm0'/--> <!--/backend--> </tpm> 2. # virsh edit r63 error: End of file while reading data: Input/output error Failed. Try again? [y,n,f,?]: error: One or more references were leaked after disconnect from the hypervisor error: Failed to reconnect to the hypervisor 3. # systemctl status libvirtd.service libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: failed (Result: core-dump) since Thu 2013-05-09 02:58:45 EDT; 1min 52s ago Process: 3259 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=dumped, signal=SEGV) CGroup: name=systemd:/system/libvirtd.service └─1290 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 14 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 15 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 16 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 17 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 18 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 20 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.905+0000: 3376: debug : virFileClo... 22 May 09 02:58:28 dhcp-66-71-17.eng.nay.redhat.com libvirtd[3259]: 2013-05-09 06:58:28.908+0000: 3377: debug : virFileClo...d 3 May 09 02:58:45 dhcp-66-71-17.eng.nay.redhat.com systemd[1]: libvirtd.service: main process exited, code=dumped, statu...SEGV May 09 02:58:45 dhcp-66-71-17.eng.nay.redhat.com systemd[1]: Unit libvirtd.service entered failed state Actual results: libvirtd crash Expected results: libvirtd should not crash Additional info: please see the attachment for crash libvirtd.log