From 88d3324bea45714ea127abcf2d73504fd0132b0f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 5 Jun 2018 20:18:47 +0200 Subject: [PATCH] tree-wide: fix a number of log calls that use %m but have no errno set This is mostly fall-out from d1a1f0aaf0d2f08c60d1e0d32e646439d99f58dc, however some cases are older bugs. There might be more issues lurking, this was a simple grep for "%m" across the tree, with all lines removed that mention "errno" at all. --- src/basic/conf-files.c | 2 +- src/basic/fs-util.c | 6 +++--- src/basic/selinux-util.c | 14 +++++++------- src/shared/conf-parser.c | 5 +++-- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/basic/conf-files.c b/src/basic/conf-files.c index 298f4b7f9..b29243ee4 100644 --- a/src/basic/conf-files.c +++ b/src/basic/conf-files.c @@ -349,7 +349,7 @@ int conf_files_cat(const char *root, const char *name) { assert(endswith(dir, "/")); r = strv_extendf(&dirs, "%s%s.d", dir, name); if (r < 0) - return log_error("Failed to build directory list: %m"); + return log_error_errno(r, "Failed to build directory list: %m"); } r = conf_files_list_strv(&files, ".conf", root, 0, (const char* const*) dirs); diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c index 9f17725f1..81d51bb66 100644 --- a/src/basic/fs-util.c +++ b/src/basic/fs-util.c @@ -1170,9 +1170,9 @@ int fsync_directory_of_file(int fd) { r = fd_get_path(fd, &path); if (r < 0) { - log_debug("Failed to query /proc/self/fd/%d%s: %m", - fd, - r == -EOPNOTSUPP ? ", ignoring" : ""); + log_debug_errno(r, "Failed to query /proc/self/fd/%d%s: %m", + fd, + r == -EOPNOTSUPP ? ", ignoring" : ""); if (r == -EOPNOTSUPP) /* If /proc is not available, we're most likely running in some diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c index c02ee2ca5..cdeeb3e2a 100644 --- a/src/basic/selinux-util.c +++ b/src/basic/selinux-util.c @@ -79,7 +79,7 @@ int mac_selinux_init(void) { label_hnd = selabel_open(SELABEL_CTX_FILE, NULL, 0); if (!label_hnd) { - log_enforcing("Failed to initialize SELinux context: %m"); + log_enforcing_errno(errno, "Failed to initialize SELinux context: %m"); r = security_getenforce() == 1 ? -errno : 0; } else { char timespan[FORMAT_TIMESPAN_MAX]; @@ -190,7 +190,7 @@ int mac_selinux_apply(const char *path, const char *label) { assert(label); if (setfilecon(path, label) < 0) { - log_enforcing("Failed to set SELinux security context %s on path %s: %m", label, path); + log_enforcing_errno(errno, "Failed to set SELinux security context %s on path %s: %m", label, path); if (security_getenforce() > 0) return -errno; } @@ -351,12 +351,12 @@ int mac_selinux_create_file_prepare(const char *path, mode_t mode) { if (errno == ENOENT) return 0; - log_enforcing("Failed to determine SELinux security context for %s: %m", path); + log_enforcing_errno(errno, "Failed to determine SELinux security context for %s: %m", path); } else { if (setfscreatecon_raw(filecon) >= 0) return 0; /* Success! */ - log_enforcing("Failed to set SELinux security context %s for %s: %m", filecon, path); + log_enforcing_errno(errno, "Failed to set SELinux security context %s for %s: %m", filecon, path); } if (security_getenforce() > 0) @@ -388,7 +388,7 @@ int mac_selinux_create_socket_prepare(const char *label) { assert(label); if (setsockcreatecon(label) < 0) { - log_enforcing("Failed to set SELinux security context %s for sockets: %m", label); + log_enforcing_errno(errno, "Failed to set SELinux security context %s for sockets: %m", label); if (security_getenforce() == 1) return -errno; @@ -460,13 +460,13 @@ int mac_selinux_bind(int fd, const struct sockaddr *addr, socklen_t addrlen) { if (errno == ENOENT) goto skipped; - log_enforcing("Failed to determine SELinux security context for %s: %m", path); + log_enforcing_errno(errno, "Failed to determine SELinux security context for %s: %m", path); if (security_getenforce() > 0) return -errno; } else { if (setfscreatecon_raw(fcon) < 0) { - log_enforcing("Failed to set SELinux security context %s for %s: %m", fcon, path); + log_enforcing_errno(errno, "Failed to set SELinux security context %s for %s: %m", fcon, path); if (security_getenforce() > 0) return -errno; } else diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c index c875a6771..949a77fd2 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c @@ -47,6 +47,7 @@ //#include "rlimit-util.h" //#include "rlimit-util.h" //#include "rlimit-util.h" +//#include "rlimit-util.h" int config_item_table_lookup( const void *table, @@ -316,8 +317,8 @@ int config_parse(const char *unit, /* Only log on request, except for ENOENT, * since we return 0 to the caller. */ if ((flags & CONFIG_PARSE_WARN) || errno == ENOENT) - log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, - "Failed to open configuration file '%s': %m", filename); + log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_ERR, errno, + "Failed to open configuration file '%s': %m", filename); return errno == ENOENT ? 0 : -errno; } } -- 2.30.2