]> xenbits.xensource.com Git - libvirt.git/commitdiff
Avoid getting '-1:-1' in devices cgroup list
authorCédric Bosdonnat <cbosdonnat@suse.com>
Wed, 10 Dec 2014 13:32:10 +0000 (14:32 +0100)
committerCédric Bosdonnat <cbosdonnat@suse.com>
Fri, 12 Dec 2014 16:25:00 +0000 (17:25 +0100)
When calling virCgroupAllowAllDevices we get these invalid entries
in the device cgroup config.
    b -1:-1 rw
    c -1:-1 rw
Check for positive values before outputting the major and minor to
avoid that.

src/util/vircgroup.c

index 166f4dc7274b3c556d17d0c75bb0aff48f2d2689..39954770b2d804614bec2ebcecb7f54564f14e38 100644 (file)
@@ -2767,11 +2767,11 @@ virCgroupAllowDevice(virCgroupPtr group, char type, int major, int minor,
     char *minorstr = NULL;
 
     if ((major < 0 && VIR_STRDUP(majorstr, "*") < 0) ||
-            virAsprintf(&majorstr, "%i", major) < 0)
+        (major >= 0 && virAsprintf(&majorstr, "%i", major) < 0))
         goto cleanup;
 
     if ((minor < 0 && VIR_STRDUP(minorstr, "*") < 0) ||
-            virAsprintf(&minorstr, "%i", minor) < 0)
+        (minor >= 0 && virAsprintf(&minorstr, "%i", minor) < 0))
         goto cleanup;
 
     if (virAsprintf(&devstr, "%c %s:%s %s", type, majorstr, minorstr,