summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-04-24 20:25:27 +0200
committerGitHub <noreply@github.com>2018-04-24 20:25:27 +0200
commit81183d9b9934bc508820d7bedb82695c5f74ed27 (patch)
treeda7b0f3a77764a42faabf87a897d8292a2626b87
parent9dfcc1df0716a68fcef2ca8b2b746c7c551fc048 (diff)
parentb29f6480eca0550ba65d30fbece8dd4d4bfe666d (diff)
downloadsystemd-81183d9b9934bc508820d7bedb82695c5f74ed27.tar.gz
Merge pull request #8802 from keszybz/errno-reform
Errno reform
-rw-r--r--src/activate/activate.c21
-rw-r--r--src/basic/audit-util.c7
-rw-r--r--src/basic/capability-util.c3
-rw-r--r--src/basic/log.c5
-rw-r--r--src/boot/bootctl.c3
-rw-r--r--src/core/bpf-firewall.c11
-rw-r--r--src/core/cgroup.c4
-rw-r--r--src/core/device.c4
-rw-r--r--src/libsystemd-network/sd-lldp.c8
-rw-r--r--src/shared/bus-unit-util.c2
10 files changed, 26 insertions, 42 deletions
diff --git a/src/activate/activate.c b/src/activate/activate.c
index 7fd39b29da..d598965b47 100644
--- a/src/activate/activate.c
+++ b/src/activate/activate.c
@@ -35,16 +35,14 @@ static bool arg_inetd = false;
static int add_epoll(int epoll_fd, int fd) {
struct epoll_event ev = {
- .events = EPOLLIN
+ .events = EPOLLIN,
+ .data.fd = fd,
};
- int r;
assert(epoll_fd >= 0);
assert(fd >= 0);
- ev.data.fd = fd;
- r = epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev);
- if (r < 0)
+ if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev) < 0)
return log_error_errno(errno, "Failed to add event on epoll fd:%d for fd:%d: %m", epoll_fd, fd);
return 0;
@@ -188,14 +186,13 @@ static int exec_process(const char* name, char **argv, char **env, int start_fd,
r = rearrange_stdio(start_fd, start_fd, STDERR_FILENO); /* invalidates start_fd on success + error */
if (r < 0)
- return log_error_errno(errno, "Failed to move fd to stdin+stdout: %m");
+ return log_error_errno(r, "Failed to move fd to stdin+stdout: %m");
} else {
if (start_fd != SD_LISTEN_FDS_START) {
assert(n_fds == 1);
- r = dup2(start_fd, SD_LISTEN_FDS_START);
- if (r < 0)
+ if (dup2(start_fd, SD_LISTEN_FDS_START) < 0)
return log_error_errno(errno, "Failed to dup connection: %m");
safe_close(start_fd);
@@ -312,10 +309,7 @@ static int install_chld_handler(void) {
.sa_handler = sigchld_hdl,
};
- int r;
-
- r = sigaction(SIGCHLD, &act, 0);
- if (r < 0)
+ if (sigaction(SIGCHLD, &act, 0) < 0)
return log_error_errno(errno, "Failed to install SIGCHLD handler: %m");
return 0;
@@ -490,8 +484,7 @@ int main(int argc, char **argv, char **envp) {
for (;;) {
struct epoll_event event;
- r = epoll_wait(epoll_fd, &event, 1, -1);
- if (r < 0) {
+ if (epoll_wait(epoll_fd, &event, 1, -1) < 0) {
if (errno == EINTR)
continue;
diff --git a/src/basic/audit-util.c b/src/basic/audit-util.c
index 00757c4f65..697a8421ee 100644
--- a/src/basic/audit-util.c
+++ b/src/basic/audit-util.c
@@ -82,10 +82,9 @@ bool use_audit(void) {
fd = socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC|SOCK_NONBLOCK, NETLINK_AUDIT);
if (fd < 0) {
cached_use = !IN_SET(errno, EAFNOSUPPORT, EPROTONOSUPPORT, EPERM);
- if (errno == EPERM)
- log_debug_errno(errno, "Audit access prohibited, won't talk to audit");
- }
- else {
+ if (!cached_use)
+ log_debug_errno(errno, "Won't talk to audit: %m");
+ } else {
cached_use = true;
safe_close(fd);
}
diff --git a/src/basic/capability-util.c b/src/basic/capability-util.c
index 233d18a854..645cd322a7 100644
--- a/src/basic/capability-util.c
+++ b/src/basic/capability-util.c
@@ -301,8 +301,7 @@ int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities) {
if (prctl(PR_SET_KEEPCAPS, 1) < 0)
return log_error_errno(errno, "Failed to enable keep capabilities flag: %m");
- r = setresuid(uid, uid, uid);
- if (r < 0)
+ if (setresuid(uid, uid, uid) < 0)
return log_error_errno(errno, "Failed to change user ID: %m");
if (prctl(PR_SET_KEEPCAPS, 0) < 0)
diff --git a/src/basic/log.c b/src/basic/log.c
index 9e6de2f96d..bab61d3140 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -686,9 +686,8 @@ int log_internalv_realm(
if (_likely_(LOG_PRI(level) > log_max_level[realm]))
return -error;
- /* Make sure that %m maps to the specified error */
- if (error != 0)
- errno = error;
+ /* Make sure that %m maps to the specified error (or "Success"). */
+ errno = error;
(void) vsnprintf(buffer, sizeof buffer, format, ap);
diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
index 294d5922cf..b9659d4860 100644
--- a/src/boot/bootctl.c
+++ b/src/boot/bootctl.c
@@ -428,8 +428,7 @@ static int copy_file_with_version_check(const char *from, const char *to, bool f
(void) fsync_directory_of_file(fd_to);
- r = renameat(AT_FDCWD, t, AT_FDCWD, to);
- if (r < 0) {
+ if (renameat(AT_FDCWD, t, AT_FDCWD, to) < 0) {
(void) unlink_noerrno(t);
return log_error_errno(errno, "Failed to rename \"%s\" to \"%s\": %m", t, to);
}
diff --git a/src/core/bpf-firewall.c b/src/core/bpf-firewall.c
index 7dc8467a7f..b830b393b3 100644
--- a/src/core/bpf-firewall.c
+++ b/src/core/bpf-firewall.c
@@ -691,13 +691,14 @@ int bpf_firewall_supported(void) {
1,
BPF_F_NO_PREALLOC);
if (fd < 0) {
- log_debug_errno(r, "Can't allocate BPF LPM TRIE map, BPF firewalling is not supported: %m");
+ log_debug_errno(fd, "Can't allocate BPF LPM TRIE map, BPF firewalling is not supported: %m");
return supported = BPF_FIREWALL_UNSUPPORTED;
}
safe_close(fd);
- if (bpf_program_new(BPF_PROG_TYPE_CGROUP_SKB, &program) < 0) {
+ r = bpf_program_new(BPF_PROG_TYPE_CGROUP_SKB, &program);
+ if (r < 0) {
log_debug_errno(r, "Can't allocate CGROUP SKB BPF program, BPF firewalling is not supported: %m");
return supported = BPF_FIREWALL_UNSUPPORTED;
}
@@ -728,8 +729,7 @@ int bpf_firewall_supported(void) {
.attach_bpf_fd = -1,
};
- r = bpf(BPF_PROG_ATTACH, &attr, sizeof(attr));
- if (r < 0) {
+ if (bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)) < 0) {
if (errno != EBADF) {
log_debug_errno(errno, "Didn't get EBADF from BPF_PROG_ATTACH, BPF firewalling is not supported: %m");
return supported = BPF_FIREWALL_UNSUPPORTED;
@@ -753,8 +753,7 @@ int bpf_firewall_supported(void) {
.attach_flags = BPF_F_ALLOW_MULTI,
};
- r = bpf(BPF_PROG_ATTACH, &attr, sizeof(attr));
- if (r < 0) {
+ if (bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)) < 0) {
if (errno == EBADF) {
log_debug_errno(errno, "Got EBADF when using BPF_F_ALLOW_MULTI, which indicates it is supported. Yay!");
return supported = BPF_FIREWALL_SUPPORTED_WITH_MULTI;
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 426732483e..25778320ab 100644
--- a/src/core/cgroup.c
+++ b/src/core/cgroup.c
@@ -308,13 +308,11 @@ void cgroup_context_dump(CGroupContext *c, FILE* f, const char *prefix) {
static int lookup_block_device(const char *p, dev_t *dev) {
struct stat st;
- int r;
assert(p);
assert(dev);
- r = stat(p, &st);
- if (r < 0)
+ if (stat(p, &st) < 0)
return log_warning_errno(errno, "Couldn't stat device %s: %m", p);
if (S_ISBLK(st.st_mode))
diff --git a/src/core/device.c b/src/core/device.c
index 12dccdb975..296f763f87 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -782,8 +782,8 @@ static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents,
if (revents != EPOLLIN) {
static RATELIMIT_DEFINE(limit, 10*USEC_PER_SEC, 5);
- if (!ratelimit_test(&limit))
- log_error_errno(errno, "Failed to get udev event: %m");
+ if (ratelimit_test(&limit))
+ log_warning("Failed to get udev event");
if (!(revents & EPOLLIN))
return 0;
}
diff --git a/src/libsystemd-network/sd-lldp.c b/src/libsystemd-network/sd-lldp.c
index e98c10cc1d..ad09b9fe4a 100644
--- a/src/libsystemd-network/sd-lldp.c
+++ b/src/libsystemd-network/sd-lldp.c
@@ -402,15 +402,15 @@ static int neighbor_compare_func(const void *a, const void *b) {
static int on_timer_event(sd_event_source *s, uint64_t usec, void *userdata) {
sd_lldp *lldp = userdata;
- int r, q;
+ int r;
r = lldp_make_space(lldp, 0);
if (r < 0)
return log_lldp_errno(r, "Failed to make space: %m");
- q = lldp_start_timer(lldp, NULL);
- if (q < 0)
- return log_lldp_errno(q, "Failed to restart timer: %m");
+ r = lldp_start_timer(lldp, NULL);
+ if (r < 0)
+ return log_lldp_errno(r, "Failed to restart timer: %m");
return 0;
}
diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
index 3cf0248899..49cee2939e 100644
--- a/src/shared/bus-unit-util.c
+++ b/src/shared/bus-unit-util.c
@@ -1971,8 +1971,6 @@ int bus_wait_for_jobs(BusWaitForJobs *d, bool quiet, const char* const* extra_ar
if (q < 0 && r == 0)
r = q;
- errno = 0; /* Reset errno explicitly, so that log_debug_errno() will properly print 'Success'
- * for q == 0, instead of whatever is set in errno */
log_debug_errno(q, "Got result %s/%m for job %s", strna(d->result), strna(d->name));
}