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