From: Christian Göttsche Date: Mon, 27 May 2024 13:38:18 +0000 (+0200) Subject: tmpfiles: improve warning message and use O_NOCTTY X-Git-Tag: v256-rc4~97 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a424e4af6df0efd2897030f6863923d729d391bf;p=thirdparty%2Fsystemd.git tmpfiles: improve warning message and use O_NOCTTY Mention in the warning message for a failed open on a to be removed file why systemd-tmpfiles tried to open it. Also open the file with the O_NOCTTY flag, since it should never become the controlling terminal. --- diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 3ade4ee32e1..807925f199d 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -892,9 +892,9 @@ static int dir_cleanup( continue; if (!arg_dry_run) { - fd = xopenat(dirfd(d), de->d_name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME|O_NONBLOCK); + fd = xopenat(dirfd(d), de->d_name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME|O_NONBLOCK|O_NOCTTY); if (fd < 0 && !IN_SET(fd, -ENOENT, -ELOOP)) - log_warning_errno(fd, "Opening file \"%s\" failed, ignoring: %m", sub_path); + log_warning_errno(fd, "Opening file \"%s\" failed, proceeding without lock: %m", sub_path); if (fd >= 0 && flock(fd, LOCK_EX|LOCK_NB) < 0 && errno == EAGAIN) { log_debug_errno(errno, "Couldn't acquire shared BSD lock on file \"%s\", skipping: %m", sub_path); continue;