From f1c4343929136632683b7c4f4bfc854c47811dce Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Fri, 26 Jun 2020 10:39:47 +0200 Subject: [PATCH] start: preserve time namespace Signed-off-by: Christian Brauner --- src/lxc/start.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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) { -- 2.47.2