diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-09-16 22:11:48 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-09-20 12:13:39 +0200 |
commit | a049ddfc61e20b19fbb64d59602e25e8ccad140e (patch) | |
tree | c6a218eb413ffaaee845587f1bd4de637595903f | |
parent | 0dccd1f82b8f8b30bd6b059eba9254a08fa54861 (diff) | |
download | systemd-a049ddfc61e20b19fbb64d59602e25e8ccad140e.tar.gz |
nspawn: check return of setsid()
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)
-rw-r--r-- | src/nspawn/nspawn-stub-pid1.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nspawn/nspawn-stub-pid1.c b/src/nspawn/nspawn-stub-pid1.c index d86dd23185..f785a3b248 100644 --- a/src/nspawn/nspawn-stub-pid1.c +++ b/src/nspawn/nspawn-stub-pid1.c @@ -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; } |