]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: check return of setsid()
authorLennart Poettering <lennart@poettering.net>
Wed, 16 Sep 2020 20:11:48 +0000 (22:11 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 20 Sep 2020 10:51:29 +0000 (12:51 +0200)
Let's verify that everything works the way we expect it to work, hence
check setsid() return code.

(cherry picked from commit efe426624046089b74b70708e61f304f3cd414a7)
(cherry picked from commit 6f9c8af500fd4362d656917703eab4f941e7e45a)
(cherry picked from commit a049ddfc61e20b19fbb64d59602e25e8ccad140e)
(cherry picked from commit a09947ddd473bd5d73789a92db6a09c128bb6db9)

src/nspawn/nspawn-stub-pid1.c

index 0589685afe308fff8a92a990a86c5340c11f68e3..1ca28385a02a27b3a238674d8fcd726efb85a787 100644 (file)
@@ -66,7 +66,10 @@ int stub_pid1(sd_id128_t uuid) {
         if (pid == 0) {
                 /* Return in the child */
                 assert_se(sigprocmask(SIG_SETMASK, &oldmask, NULL) >= 0);
-                setsid();
+
+                if (setsid() < 0)
+                        return log_error_errno(errno, "Failed to become session leader in payload process: %m");
+
                 return 0;
         }