From: Michal Privoznik Date: Wed, 17 Jul 2013 09:21:09 +0000 (+0200) Subject: lxc_container: Don't call virGetGroupList during exec X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=192a86cadf9200eb2b28b5cddefc42bc9a8003e7;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git lxc_container: Don't call virGetGroupList during exec Commit 75c1256 states that virGetGroupList must not be called between fork and exec, then commit ee777e99 promptly violated that for lxc. Patch originally posted by Eric Blake . --- diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index b51d7a2e8..ca8a39ec8 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -351,24 +351,18 @@ int lxcContainerWaitForContinue(int control) */ static int lxcContainerSetID(virDomainDefPtr def) { - gid_t *groups; - int ngroups; - /* Only call virSetUIDGID when user namespace is enabled * for this container. And user namespace is only enabled * when nuidmap&ngidmap is not zero */ VIR_DEBUG("Set UID/GID to 0/0"); if (def->idmap.nuidmap && - ((ngroups = virGetGroupList(0, 0, &groups) < 0) || - virSetUIDGID(0, 0, groups, ngroups) < 0)) { + virSetUIDGID(0, 0, NULL, 0) < 0) { virReportSystemError(errno, "%s", _("setuid or setgid failed")); - VIR_FREE(groups); return -1; } - VIR_FREE(groups); return 0; }