libvirt/daemon
Pavel Hrdina 5c756e580f daemon: Fix segfault by reloading daemon right after start
Libvirt could crash with segfault if user issue "service reload" right
after "service start". One possible way to crash libvirt is to run reload
during initialization of QEMU driver.

It could happen when qemu driver will initialize qemu_driver_lock but
don't have a time to set it's "config" and the SIGHUP arrives. The
reload handler tries to get qemu_drv->config during "virStorageAutostart"
and dereference it which ends with segfault.

Let's ignore all reload requests until all drivers are initialized. In
addition set driversInitialized before we enter virStateCleanup to
ignore reload request while we are shutting down.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1179981

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-02-18 17:51:54 +01:00
..
libvirtd-config.c virconf: Introduce VIR_CONF_ULONG 2014-12-15 10:34:18 +01:00
libvirtd-config.h Remove global log buffer feature entirely 2014-03-18 14:29:22 +00:00
libvirtd.aug daemon: Introduce max_anonymous_clients 2014-03-17 17:45:13 +01:00
libvirtd.c daemon: Fix segfault by reloading daemon right after start 2015-02-18 17:51:54 +01:00
libvirtd.conf Fix a syntax error in the description text of libvirtd.conf 2015-02-12 09:24:10 -07:00
libvirtd.h qemu: wire up RPC for qemu monitor events 2014-03-20 11:25:37 -06:00
libvirtd.init.in virtlockd: improve initscripts 2013-12-10 12:02:37 +01:00
libvirtd.logrotate.in Add logrotate support for libvirtd.log 2011-03-04 22:43:55 +08:00
libvirtd.lxc.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.pod.in Properly handle -h / -V for --help/--version aliases in virtlockd/libvirtd 2013-08-13 14:06:01 +01:00
libvirtd.policy.in daemon: Make the default PolicyKit policy auth_admin_keep. 2012-11-01 13:17:26 +00:00
libvirtd.qemu.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.sasl daemon: Fix command example in libvirtd.sasl 2013-07-09 10:01:55 -04:00
libvirtd.service.in daemon: use socket activation with systemd 2014-08-22 09:12:14 +02:00
libvirtd.socket.in daemon: use socket activation with systemd 2014-08-22 09:12:14 +02:00
libvirtd.sysconf daemon: Enhance documentation for changing NOFILE limit 2014-03-20 10:55:44 +01:00
libvirtd.sysctl init: raise default system aio limits 2011-10-05 14:49:35 -06:00
libvirtd.uml.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.upstart daemon: Allow overriding NOFILES ulimit for the daemon as well 2012-02-01 16:04:30 +01:00
Makefile.am Convert remote daemon & acl code to use polkit API 2014-09-24 15:29:22 +01:00
remote.c Replace virDomainSnapshotFree with virObjectUnref 2014-12-02 11:03:41 -05:00
remote.h Implement the RPC protocol for the libvirt-lxc.la library 2013-01-15 18:16:53 +00:00
stream.c Replace virStreamFree with virObjectUnref 2014-12-02 11:03:41 -05:00
stream.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
test_libvirtd.aug.in daemon: Introduce max_anonymous_clients 2014-03-17 17:45:13 +01:00
THREADS.txt docs: fix usage of 'onto' 2013-04-19 14:31:16 -06:00