From: Christian Brauner Date: Fri, 26 Jun 2020 08:39:47 +0000 (+0200) Subject: start: preserve time namespace X-Git-Tag: lxc-5.0.0~405^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1c4343929136632683b7c4f4bfc854c47811dce;p=thirdparty%2Flxc.git start: preserve time namespace Signed-off-by: Christian Brauner --- diff --git a/src/lxc/start.c b/src/lxc/start.c index 16e519e99..c49b249fb 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -1870,6 +1870,20 @@ static int lxc_spawn(struct lxc_handler *handler) cgroup_ops->payload_finalize(cgroup_ops); TRACE("Finished setting up cgroups"); + if (handler->ns_clone_flags & CLONE_NEWTIME) { + /* Now we're ready to preserve the cgroup namespace */ + ret = lxc_try_preserve_ns(handler->pid, "time"); + if (ret < 0) { + if (ret != -EOPNOTSUPP) { + SYSERROR("Failed to preserve time namespace"); + goto out_delete_net; + } + } else { + handler->nsfd[LXC_NS_TIME] = ret; + DEBUG("Preserved time namespace via fd %d", ret); + } + } + /* Run any host-side start hooks */ ret = run_lxc_hooks(name, "start-host", conf, NULL); if (ret < 0) {