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:51:29 +0200 |
commit | 7f0787e8fc216b3038dfab851b06cad4c41abcb6 (patch) | |
tree | fb3896479a547f1bc01b650a97f3f37732d8c094 | |
parent | 699f1c9ed2d6c770e401770d7f1993ca621c3a60 (diff) | |
download | systemd-7f0787e8fc216b3038dfab851b06cad4c41abcb6.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)
(cherry picked from commit a049ddfc61e20b19fbb64d59602e25e8ccad140e)
(cherry picked from commit a09947ddd473bd5d73789a92db6a09c128bb6db9)
-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 0589685afe..1ca28385a0 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; } |