From: Cédric Bosdonnat Date: Wed, 10 Dec 2014 13:32:10 +0000 (+0100) Subject: Avoid getting '-1:-1' in devices cgroup list X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=5acbb8f99eefc87ea542e5bb3e820ebe68dc2069;p=libvirt.git Avoid getting '-1:-1' in devices cgroup list 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. --- diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index 166f4dc727..39954770b2 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -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,