[libvirt] [PATCH] lxc_cgroup: Add check for NULL cgroup before AddTask call

John Ferlan jferlan at redhat.com
Fri Dec 18 14:04:15 UTC 2015


Commit id '71ce4759' altered the cgroup processing with respect to the
call to virCgroupAddTask being moved out from lower layers into the calling
layers especially for qemu processing of emulator and vcpu threads. The
movement affected lxc insomuch as it is possible for a code path to
return a NULL cgroup *and* a 0 return status via virCgroupNewPartition
failure when virCgroupNewIgnoreError succeeded when virCgroupNewMachineManual
returns. Coverity pointed out that would cause virCgroupAddTask to core.

This patch will check for a NULL cgroup as well as the negative return
and just return the NULL cgroup to the caller (as it would have previously)

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/lxc/lxc_cgroup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index 609e9ea..ef332e3 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -501,7 +501,7 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def,
                             nnicindexes, nicindexes,
                             def->resource->partition,
                             -1,
-                            &cgroup) < 0)
+                            &cgroup) < 0 || !cgroup)
         goto cleanup;
 
     if (virCgroupAddTask(cgroup, initpid) < 0) {
-- 
2.5.0




More information about the libvir-list mailing list