From 1166eeba61d57eb093edf26bee6e45b4bec67ffd Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 2 Aug 2013 12:12:30 +0100 Subject: [PATCH] Fix crashing upgrading from older libvirts with running guests If upgrading from a libvirt that is older than 1.0.5, we can not assume that vm->def->resource is non-NULL. This bogus assumption caused libvirtd to crash Signed-off-by: Daniel P. Berrange --- src/lxc/lxc_process.c | 8 ++++++-- src/qemu/qemu_cgroup.c | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 0a28305255..4835bd5003 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -1204,7 +1204,9 @@ int virLXCProcessStart(virConnectPtr conn, } if (virCgroupNewDetectMachine(vm->def->name, "lxc", vm->pid, - vm->def->resource->partition, + vm->def->resource ? + vm->def->resource->partition : + NULL, -1, &priv->cgroup) < 0) goto error; @@ -1413,7 +1415,9 @@ virLXCProcessReconnectDomain(virDomainObjPtr vm, goto error; if (virCgroupNewDetectMachine(vm->def->name, "lxc", vm->pid, - vm->def->resource->partition, + vm->def->resource ? + vm->def->resource->partition : + NULL, -1, &priv->cgroup) < 0) goto error; diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index 787ddeb4a1..dc949db4dd 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -707,7 +707,9 @@ qemuConnectCgroup(virQEMUDriverPtr driver, if (virCgroupNewDetectMachine(vm->def->name, "qemu", vm->pid, - vm->def->resource->partition, + vm->def->resource ? + vm->def->resource->partition : + NULL, cfg->cgroupControllers, &priv->cgroup) < 0) goto cleanup; -- 2.47.2