libvirt/src/qemu
Daniel P. Berrange 61b52d2e38 Fix potential deadlock across fork() in QEMU driver
The hook scripts used by virCommand must be careful wrt
accessing any mutexes that may have been held by other
threads in the parent process. With the recent refactoring
there are 2 potential flaws lurking, which will become real
deadlock bugs once the global QEMU driver lock is removed.

Remove use of the QEMU driver lock from the hook function
by passing in the 'virQEMUDriverConfigPtr' instance directly.

Add functions to the virSecurityManager to be invoked before
and after fork, to ensure the mutex is held by the current
thread. This allows it to be safely used in the hook script
in the child process.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-02-12 11:05:31 +00:00
..
libvirtd_qemu.aug qemu: conf: add seccomp_sandbox option 2012-09-18 15:43:28 +08:00
MIGRATION.txt
qemu_agent.c virCondDestroy: Lose attribute RETURN_CHECK 2013-02-08 09:12:11 +01:00
qemu_agent.h Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_bridge_filter.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
qemu_bridge_filter.h Replace 'struct qemud_driver *' with virQEMUDriverPtr 2012-11-28 18:17:25 +00:00
qemu_capabilities.c Rename 'qemuCapsXXX' to 'virQEMUCapsXXX' 2013-02-08 11:49:14 +00:00
qemu_capabilities.h Rename 'qemuCapsXXX' to 'virQEMUCapsXXX' 2013-02-08 11:49:14 +00:00
qemu_cgroup.c Rename all USB device functions to have a standard name prefix 2013-02-05 19:22:25 +00:00
qemu_cgroup.h Rename all USB device functions to have a standard name prefix 2013-02-05 19:22:25 +00:00
qemu_command.c qemu: support vhost-net for generic ethernet devices 2013-02-08 13:13:55 -05:00
qemu_command.h Rename 'qemuCapsXXX' to 'virQEMUCapsXXX' 2013-02-08 11:49:14 +00:00
qemu_conf.c Pass virQEMUDriverPtr into APIs managed shared disk list 2013-02-11 12:48:22 +00:00
qemu_conf.h Pass virQEMUDriverPtr into APIs managed shared disk list 2013-02-11 12:48:22 +00:00
qemu_domain.c Stop accessing driver->caps directly in QEMU driver 2013-02-08 11:49:16 +00:00
qemu_domain.h Rename 'qemuCapsXXX' to 'virQEMUCapsXXX' 2013-02-08 11:49:14 +00:00
qemu_driver.c Pass virQEMUDriverPtr into APIs managed shared disk list 2013-02-11 12:48:22 +00:00
qemu_driver.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
qemu_hostdev.c Protect USB/PCI device list access in QEMU with dedicated locks 2013-02-05 19:22:26 +00:00
qemu_hostdev.h Rename all USB device functions to have a standard name prefix 2013-02-05 19:22:25 +00:00
qemu_hotplug.c qemu: support vhost-net for generic ethernet devices 2013-02-08 13:13:55 -05:00
qemu_hotplug.h Replace 'struct qemud_driver *' with virQEMUDriverPtr 2012-11-28 18:17:25 +00:00
qemu_migration.c Stop accessing driver->caps directly in QEMU driver 2013-02-08 11:49:16 +00:00
qemu_migration.h qemu: Make qemuMigrationIsAllowed more reusable 2012-12-11 19:48:37 +01:00
qemu_monitor_json.c qemu: don't log failure during QMP add-fd probe 2013-02-05 10:46:12 -07:00
qemu_monitor_json.h qemu: expose qemu 1.3 add-fd monitor command 2013-01-31 10:23:28 -07:00
qemu_monitor_text.c qemu_monitor: Fix tray-open attribute in query-block 2013-01-25 14:39:48 +01:00
qemu_monitor_text.h qemu: nicer error message if live disk snapshot unsupported 2012-12-04 15:53:41 -07:00
qemu_monitor.c virCondDestroy: Lose attribute RETURN_CHECK 2013-02-08 09:12:11 +01:00
qemu_monitor.h qemu: expose qemu 1.3 add-fd monitor command 2013-01-31 10:23:28 -07:00
qemu_process.c Fix potential deadlock across fork() in QEMU driver 2013-02-12 11:05:31 +00:00
qemu_process.h Pass virQEMUDriverPtr into APIs managed shared disk list 2013-02-11 12:48:22 +00:00
qemu.conf doc: update description about user/group in qemu.conf 2012-10-09 08:38:36 -06:00
test_libvirtd_qemu.aug.in Fix the augea test for qemu libvirtd options 2012-09-18 16:28:43 +08:00
THREADS.txt Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00