Otherwise containers may be able to remount -o ro their rootfs at shutdown.
Reported-by: Harald Dunkel <ha...@afaics.de> Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> --- src/lxc/start.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/lxc/start.c b/src/lxc/start.c index 7ee67ec..e841bac 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -274,6 +274,7 @@ struct lxc_handler *lxc_init(const char *name, struct lxc_conf *conf, const char handler->conf = conf; handler->lxcpath = lxcpath; + handler->pinfd = -1; apparmor_handler_init(handler); handler->name = strdup(name); @@ -740,9 +741,6 @@ int lxc_spawn(struct lxc_handler *handler) lxc_sync_fini(handler); - if (handler->pinfd >= 0) - close(handler->pinfd); - return 0; out_delete_net: @@ -751,6 +749,11 @@ out_delete_net: out_abort: lxc_abort(name, handler); lxc_sync_fini(handler); + if (handler->pinfd >= 0) { + close(handler->pinfd); + handler->pinfd = -1; + } + return -1; } @@ -818,6 +821,11 @@ int __lxc_start(const char *name, struct lxc_conf *conf, lxc_rename_phys_nics_on_shutdown(handler->conf); + if (handler->pinfd >= 0) { + close(handler->pinfd); + handler->pinfd = -1; + } + err = lxc_error_set_and_log(handler->pid, status); out_fini: lxc_delete_network(handler); -- 1.8.3.2 ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel