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:07:12 +0200
commit6f9c8af500fd4362d656917703eab4f941e7e45a (patch)
tree9975bdd2c4ef0229a61e7a817a63c635990c633a
parent31875b3cb05a2de76054752d40a810e40c8dbe87 (diff)
downloadsystemd-6f9c8af500fd4362d656917703eab4f941e7e45a.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)
-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 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;
}