summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-09-16 22:11:48 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-09-20 12:51:29 +0200
commit7f0787e8fc216b3038dfab851b06cad4c41abcb6 (patch)
treefb3896479a547f1bc01b650a97f3f37732d8c094
parent699f1c9ed2d6c770e401770d7f1993ca621c3a60 (diff)
downloadsystemd-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.c5
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;
}