mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-12 15:52:55 +00:00
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 <eblake@redhat.com>.
This commit is contained in:
parent
cc7329317f
commit
192a86cadf
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user