Bug 671569
Summary: | race condition in libvirt could lead to crash on event handling | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Eric Blake <eblake> |
Component: | libvirt | Assignee: | Eric Blake <eblake> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 5.6 | CC: | ajia, eblake, gren, kgrainge, veillard, virt-maint, xen-maint, ydu, yoyzhang |
Target Milestone: | rc | ||
Target Release: | 5.7 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | libvirt-0.8.2-17 | Doc Type: | Bug Fix |
Doc Text: |
libvirt has a race window where event handlers refer to a callback handler that is retrieved from an array. The array can be simultaneously reallocated by other threads, so if the race is lost, another thread can reallocate the array. Previously, libvirt would refer back to the original array, so the callback was called with stale data or libvirt would crash because it was accessing invalidated memory. libvirt has been updated so that it no longer refers to the old array and behaves as expected.
|
Story Points: | --- |
Clone Of: | 671567 | Environment: | |
Last Closed: | 2011-07-21 10:31:15 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 671567 | ||
Bug Blocks: |
Description
Eric Blake
2011-01-21 21:26:51 UTC
Patch posted for 5.7; it would also be appropriate to clone this to 5.6.z: http://post-office.corp.redhat.com/archives/rhvirt-patches/2011-January/msg01105.html Verified it according to bug 671567 comment 4. Checked in source packages that libvirt-event-fix-event-handling-data-race.patch has been included in libvirt-0.8.2-17.el5.src.rpm. So it is passed for libvirt-0.8.2-17.el5. Inspected the code of libvirt-event-fix-event-handling-data-race.patch which has been included in libvirt-0.8.2-18.el5.src.rpm. Move to VERIFIED. Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: libvirt has a race window where event handlers refer to a callback handler that is retrieved from an array. The array can be simultaneously reallocated by other threads, so if the race is lost, another thread can reallocate the array. Previously, libvirt would refer back to the original array, so the callback was called with stale data or libvirt would crash because it was accessing invalidated memory. libvirt has been updated so that it no longer refers to the old array and behaves as expected. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-1019.html |