]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
api_start: always close fds 0-2 when daemonized
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Tue, 2 Jun 2015 22:33:34 +0000 (22:33 +0000)
committerStéphane Graber <stgraber@ubuntu.com>
Wed, 1 Jul 2015 17:41:13 +0000 (13:41 -0400)
commit 507cee3618237d3 moved the close and re-open of fds 0-2 into
do_start.  But this means that the lxc monitor itself keeps the
caller's fds 0-2 open, which is wrong for daemonized containers.

Closes #548

Reported-by: Mathieu Le Marec - Pasquet <kiorky@cryptelium.net>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
src/lxc/lxccontainer.c

index c0b264c813fcd94191ddd6c74f35c8544a97d8da..0eb9431dda467c35a8509b3922ad6c810498d25f 100644 (file)
@@ -722,6 +722,12 @@ static bool do_lxcapi_start(struct lxc_container *c, int useinit, char * const a
                        return false;
                }
                lxc_check_inherited(conf, true, -1);
+               close(0);
+               close(1);
+               close(2);
+               open("/dev/zero", O_RDONLY);
+               open("/dev/null", O_RDWR);
+               open("/dev/null", O_RDWR);
                setsid();
        } else {
                if (!am_single_threaded()) {