From: Zbigniew Jędrzejewski-Szmek Date: Tue, 21 May 2019 17:26:12 +0000 (+0200) Subject: core: unset HOME=/ that the kernel gives us X-Git-Tag: archive/raspbian/241-7+rpi1~25 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1600e18b96884cd301e0f3791f35b9b7aa42f6d8;p=systemd.git core: unset HOME=/ that the kernel gives us Partially fixes #12389. %h would return "/" in a machine, but "/root" in a container. Let's fix this by resetting $HOME to the expected value. (cherry picked from commit 9d48671c62de133a2b9fe7c31e70c0ff8e68f2db) Gbp-Pq: Name core-unset-HOME-that-the-kernel-gives-us.patch --- diff --git a/src/core/main.c b/src/core/main.c index 561f956f..bc7fcc6d 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1503,6 +1503,11 @@ static int fixup_environment(void) { if (setenv("TERM", t, 1) < 0) return -errno; + /* The kernels sets HOME=/ for init. Let's undo this. */ + if (path_equal_ptr(getenv("HOME"), "/") && + unsetenv("HOME") < 0) + log_warning_errno(errno, "Failed to unset $HOME: %m"); + return 0; }