treewide: another round of simplifications

Using the same scripts as in f647962d64 "treewide: yet more log_*_errno
+ return simplifications".
This commit is contained in:
Michal Schmidt 2014-11-28 19:57:32 +01:00
parent 56f64d9576
commit 4a62c710b6
65 changed files with 433 additions and 854 deletions

View File

@ -51,10 +51,8 @@ static int add_epoll(int epoll_fd, int fd) {
ev.data.fd = fd;
r = epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev);
if (r < 0) {
log_error_errno(errno, "Failed to add event on epoll fd:%d for fd:%d: %m", epoll_fd, fd);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to add event on epoll fd:%d for fd:%d: %m", epoll_fd, fd);
return 0;
}
@ -111,10 +109,8 @@ static int open_sockets(int *epoll_fd, bool accept) {
log_open();
*epoll_fd = epoll_create1(EPOLL_CLOEXEC);
if (*epoll_fd < 0) {
log_error_errno(errno, "Failed to create epoll object: %m");
return -errno;
}
if (*epoll_fd < 0)
return log_error_errno(errno, "Failed to create epoll object: %m");
for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + count; fd++) {
_cleanup_free_ char *name = NULL;
@ -192,10 +188,8 @@ static int launch1(const char* child, char** argv, char **env, int fd) {
parent_pid = getpid();
child_pid = fork();
if (child_pid < 0) {
log_error_errno(errno, "Failed to fork: %m");
return -errno;
}
if (child_pid < 0)
return log_error_errno(errno, "Failed to fork: %m");
/* In the child */
if (child_pid == 0) {

View File

@ -300,10 +300,8 @@ static int open_dev_autofs(Manager *m) {
label_fix("/dev/autofs", false, false);
m->dev_autofs_fd = open("/dev/autofs", O_CLOEXEC|O_RDONLY);
if (m->dev_autofs_fd < 0) {
log_error_errno(errno, "Failed to open /dev/autofs: %m");
return -errno;
}
if (m->dev_autofs_fd < 0)
return log_error_errno(errno, "Failed to open /dev/autofs: %m");
init_autofs_dev_ioctl(&param);
if (ioctl(m->dev_autofs_fd, AUTOFS_DEV_IOCTL_VERSION, &param) < 0) {

View File

@ -153,10 +153,8 @@ static int lookup_blkio_device(const char *p, dev_t *dev) {
assert(dev);
r = stat(p, &st);
if (r < 0) {
log_warning_errno(errno, "Couldn't stat device %s: %m", p);
return -errno;
}
if (r < 0)
return log_warning_errno(errno, "Couldn't stat device %s: %m", p);
if (S_ISBLK(st.st_mode))
*dev = st.st_rdev;
@ -218,10 +216,8 @@ static int whitelist_major(const char *path, const char *name, char type, const
assert(type == 'b' || type == 'c');
f = fopen("/proc/devices", "re");
if (!f) {
log_warning_errno(errno, "Cannot open /proc/devices to resolve %s (%c): %m", name, type);
return -errno;
}
if (!f)
return log_warning_errno(errno, "Cannot open /proc/devices to resolve %s (%c): %m", name, type);
FOREACH_LINE(line, f, goto fail) {
char buf[2+DECIMAL_STR_MAX(unsigned)+3+4], *p, *w;
@ -905,10 +901,8 @@ int manager_setup_cgroup(Manager *m) {
safe_close(m->pin_cgroupfs_fd);
m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
if (m->pin_cgroupfs_fd < 0) {
log_error_errno(errno, "Failed to open pin file: %m");
return -errno;
}
if (m->pin_cgroupfs_fd < 0)
return log_error_errno(errno, "Failed to open pin file: %m");
/* 6. Always enable hierarchial support if it exists... */
cg_set_attribute("memory", "/", "memory.use_hierarchy", "1");

View File

@ -958,22 +958,16 @@ static int bus_init_private(Manager *m) {
(void) unlink(sa.un.sun_path);
fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (fd < 0) {
log_error_errno(errno, "Failed to allocate private socket: %m");
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to allocate private socket: %m");
r = bind(fd, &sa.sa, salen);
if (r < 0) {
log_error_errno(errno, "Failed to bind private socket: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to bind private socket: %m");
r = listen(fd, SOMAXCONN);
if (r < 0) {
log_error_errno(errno, "Failed to make private socket listening: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to make private socket listening: %m");
r = sd_event_add_io(m->event, &s, fd, EPOLLIN, bus_on_connection, m);
if (r < 0)

View File

@ -82,10 +82,8 @@ int hostname_setup(void) {
hn = "localhost";
}
if (sethostname_idempotent(hn) < 0) {
log_warning_errno(errno, "Failed to set hostname to <%s>: %m", hn);
return -errno;
}
if (sethostname_idempotent(hn) < 0)
return log_warning_errno(errno, "Failed to set hostname to <%s>: %m", hn);
log_info("Set hostname to <%s>.", hn);
return 0;

View File

@ -204,10 +204,8 @@ int machine_id_setup(const char *root) {
}
}
if (fstat(fd, &st) < 0) {
log_error_errno(errno, "fstat() failed: %m");
return -errno;
}
if (fstat(fd, &st) < 0)
return log_error_errno(errno, "fstat() failed: %m");
if (S_ISREG(st.st_mode))
if (loop_read(fd, id, 33, false) == 33 && id[32] == '\n') {

View File

@ -884,10 +884,8 @@ static int parse_argv(int argc, char *argv[]) {
fd_cloexec(fd, true);
f = fdopen(fd, "r");
if (!f) {
log_error_errno(errno, "Failed to open serialization fd: %m");
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to open serialization fd: %m");
if (arg_serialization)
fclose(arg_serialization);
@ -1045,10 +1043,8 @@ static int bump_rlimit_nofile(struct rlimit *saved_rlimit) {
/* Save the original RLIMIT_NOFILE so that we can reset it
* later when transitioning from the initrd to the main
* systemd or suchlike. */
if (getrlimit(RLIMIT_NOFILE, saved_rlimit) < 0) {
log_error_errno(errno, "Reading RLIMIT_NOFILE failed: %m");
return -errno;
}
if (getrlimit(RLIMIT_NOFILE, saved_rlimit) < 0)
return log_error_errno(errno, "Reading RLIMIT_NOFILE failed: %m");
/* Make sure forked processes get the default kernel setting */
if (!arg_default_rlimit[RLIMIT_NOFILE]) {

View File

@ -262,10 +262,8 @@ static int manager_check_ask_password(Manager *m) {
mkdir_p_label("/run/systemd/ask-password", 0755);
m->ask_password_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC);
if (m->ask_password_inotify_fd < 0) {
log_error_errno(errno, "inotify_init1() failed: %m");
return -errno;
}
if (m->ask_password_inotify_fd < 0)
return log_error_errno(errno, "inotify_init1() failed: %m");
if (inotify_add_watch(m->ask_password_inotify_fd, "/run/systemd/ask-password", IN_CREATE|IN_DELETE|IN_MOVE) < 0) {
log_error_errno(errno, "Failed to add watch on /run/systemd/ask-password: %m");
@ -334,10 +332,8 @@ static int manager_setup_time_change(Manager *m) {
* CLOCK_REALTIME makes a jump relative to CLOCK_MONOTONIC */
m->time_change_fd = timerfd_create(CLOCK_REALTIME, TFD_NONBLOCK|TFD_CLOEXEC);
if (m->time_change_fd < 0) {
log_error_errno(errno, "Failed to create timerfd: %m");
return -errno;
}
if (m->time_change_fd < 0)
return log_error_errno(errno, "Failed to create timerfd: %m");
if (timerfd_settime(m->time_change_fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) < 0) {
log_debug_errno(errno, "Failed to set up TFD_TIMER_CANCEL_ON_SET, ignoring: %m");
@ -647,10 +643,8 @@ static int manager_setup_notify(Manager *m) {
m->notify_event_source = sd_event_source_unref(m->notify_event_source);
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (fd < 0) {
log_error_errno(errno, "Failed to allocate notification socket: %m");
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to allocate notification socket: %m");
if (m->running_as == SYSTEMD_SYSTEM)
m->notify_socket = strdup("/run/systemd/notify");
@ -673,16 +667,12 @@ static int manager_setup_notify(Manager *m) {
strncpy(sa.un.sun_path, m->notify_socket, sizeof(sa.un.sun_path)-1);
r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
if (r < 0) {
log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
r = setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
if (r < 0) {
log_error_errno(errno, "SO_PASSCRED failed: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "SO_PASSCRED failed: %m");
m->notify_fd = fd;
fd = -1;

View File

@ -340,10 +340,8 @@ int mount_cgroup_controllers(char ***join_controllers) {
return log_oom();
r = symlink(options, t);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "Failed to create symlink %s: %m", t);
return -errno;
}
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create symlink %s: %m", t);
}
}
}

View File

@ -276,10 +276,8 @@ static int mount_kdbus(BindMount *m) {
u = umask(0000);
if (!mkdtemp(temporary_mount)) {
log_error_errno(errno, "Failed create temp dir: %m");
return -errno;
}
if (!mkdtemp(temporary_mount))
return log_error_errno(errno, "Failed create temp dir: %m");
root = strappenda(temporary_mount, "/kdbus");
(void)mkdir(root, 0755);

View File

@ -168,10 +168,8 @@ int path_spec_fd_event(PathSpec *s, uint32_t revents) {
return -EINVAL;
}
if (ioctl(s->inotify_fd, FIONREAD, &l) < 0) {
log_error_errno(errno, "FIONREAD failed: %m");
return -errno;
}
if (ioctl(s->inotify_fd, FIONREAD, &l) < 0)
return log_error_errno(errno, "FIONREAD failed: %m");
assert(l > 0);
@ -180,10 +178,8 @@ int path_spec_fd_event(PathSpec *s, uint32_t revents) {
return log_oom();
k = read(s->inotify_fd, buf, l);
if (k < 0) {
log_error_errno(errno, "Failed to read inotify event: %m");
return -errno;
}
if (k < 0)
return log_error_errno(errno, "Failed to read inotify event: %m");
e = (struct inotify_event*) buf;

View File

@ -126,10 +126,8 @@ _printf_(2, 3) static int log_callback(int type, const char *fmt, ...) {
static int access_init(void) {
int r = 0;
if (avc_open(NULL, 0)) {
log_error_errno(errno, "avc_open() failed: %m");
return -errno;
}
if (avc_open(NULL, 0))
return log_error_errno(errno, "avc_open() failed: %m");
selinux_set_callback(SELINUX_CB_AUDIT, (union selinux_callback) audit_callback);
selinux_set_callback(SELINUX_CB_LOG, (union selinux_callback) log_callback);

View File

@ -138,15 +138,11 @@ static int parse_argv(int argc, char *argv[]) {
}
static int switch_root_initramfs(void) {
if (mount("/run/initramfs", "/run/initramfs", NULL, MS_BIND, NULL) < 0) {
log_error_errno(errno, "Failed to mount bind /run/initramfs on /run/initramfs: %m");
return -errno;
}
if (mount("/run/initramfs", "/run/initramfs", NULL, MS_BIND, NULL) < 0)
return log_error_errno(errno, "Failed to mount bind /run/initramfs on /run/initramfs: %m");
if (mount(NULL, "/run/initramfs", NULL, MS_PRIVATE, NULL) < 0) {
log_error_errno(errno, "Failed to make /run/initramfs private mount: %m");
return -errno;
}
if (mount(NULL, "/run/initramfs", NULL, MS_PRIVATE, NULL) < 0)
return log_error_errno(errno, "Failed to make /run/initramfs private mount: %m");
/* switch_root with MS_BIND, because there might still be processes lurking around, which have open file desriptors.
* /run/initramfs/shutdown will take care of these.

View File

@ -116,10 +116,8 @@ static int create_disk(
return log_oom();
f = fopen(p, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create unit file %s: %m", p);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", p);
fputs(
"# Automatically generated by systemd-cryptsetup-generator\n\n"
@ -200,10 +198,8 @@ static int create_disk(
name);
fflush(f);
if (ferror(f)) {
log_error_errno(errno, "Failed to write file %s: %m", p);
return -errno;
}
if (ferror(f))
return log_error_errno(errno, "Failed to write file %s: %m", p);
from = strappenda("../", n);
@ -214,10 +210,8 @@ static int create_disk(
return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
}
if (symlink(from, to) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
free(to);
if (!nofail)
@ -228,10 +222,8 @@ static int create_disk(
return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
}
if (symlink(from, to) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
}
free(to);
@ -240,10 +232,8 @@ static int create_disk(
return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
}
if (symlink(from, to) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
if (!noauto && !nofail) {
_cleanup_free_ char *dmname;

View File

@ -58,10 +58,8 @@ static int create_dbus_files(
return log_oom();
f = fopen(a, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create %s: %m", a);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create %s: %m", a);
fprintf(f,
"# Automatically generated by systemd-dbus1-generator\n\n"
@ -116,10 +114,8 @@ static int create_dbus_files(
return log_oom();
f = fopen(b, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create %s: %m", b);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create %s: %m", b);
fprintf(f,
"# Automatically generated by systemd-dbus1-generator\n\n"
@ -145,10 +141,8 @@ static int create_dbus_files(
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(b, lnk)) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(b, lnk))
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return 0;
}
@ -259,10 +253,8 @@ static int link_busnames_target(const char *units) {
t = strappenda(arg_dest, "/" SPECIAL_BASIC_TARGET ".wants/" SPECIAL_BUSNAMES_TARGET);
mkdir_parents_label(t, 0755);
if (symlink(f, t) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", t);
return -errno;
}
if (symlink(f, t) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", t);
return 0;
}
@ -273,24 +265,18 @@ static int link_compatibility(const char *units) {
f = strappenda(units, "/systemd-bus-proxyd.socket");
t = strappenda(arg_dest, "/" SPECIAL_DBUS_SOCKET);
mkdir_parents_label(t, 0755);
if (symlink(f, t) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", t);
return -errno;
}
if (symlink(f, t) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", t);
f = strappenda(units, "/systemd-bus-proxyd.socket");
t = strappenda(arg_dest, "/" SPECIAL_SOCKETS_TARGET ".wants/systemd-bus-proxyd.socket");
mkdir_parents_label(t, 0755);
if (symlink(f, t) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", t);
return -errno;
}
if (symlink(f, t) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", t);
t = strappenda(arg_dest, "/" SPECIAL_DBUS_SERVICE);
if (symlink("/dev/null", t) < 0) {
log_error_errno(errno, "Failed to mask %s: %m", t);
return -errno;
}
if (symlink("/dev/null", t) < 0)
return log_error_errno(errno, "Failed to mask %s: %m", t);
return 0;
}

View File

@ -185,10 +185,9 @@ static int found_override(const char *top, const char *bottom) {
fflush(stdout);
pid = fork();
if (pid < 0) {
log_error_errno(errno, "Failed to fork off diff: %m");
return -errno;
} else if (pid == 0) {
if (pid < 0)
return log_error_errno(errno, "Failed to fork off diff: %m");
else if (pid == 0) {
execlp("diff", "diff", "-us", "--", bottom, top, NULL);
log_error_errno(errno, "Failed to execute diff: %m");
_exit(1);

View File

@ -336,10 +336,8 @@ static int process_timezone(void) {
return log_error_errno(r, "Failed to read host timezone: %m");
mkdir_parents(etc_localtime, 0755);
if (symlink(p, etc_localtime) < 0) {
log_error_errno(errno, "Failed to create %s symlink: %m", etc_localtime);
return -errno;
}
if (symlink(p, etc_localtime) < 0)
return log_error_errno(errno, "Failed to create %s symlink: %m", etc_localtime);
log_info("%s copied.", etc_localtime);
return 0;
@ -356,10 +354,8 @@ static int process_timezone(void) {
e = strappenda("../usr/share/zoneinfo/", arg_timezone);
mkdir_parents(etc_localtime, 0755);
if (symlink(e, etc_localtime) < 0) {
log_error_errno(errno, "Failed to create %s symlink: %m", etc_localtime);
return -errno;
}
if (symlink(e, etc_localtime) < 0)
return log_error_errno(errno, "Failed to create %s symlink: %m", etc_localtime);
log_info("%s written", etc_localtime);
return 0;

View File

@ -148,10 +148,8 @@ static int add_swap(
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(unit, lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
}
return 0;
@ -268,10 +266,8 @@ static int add_mount(
fprintf(f, "Options=%s\n", filtered);
fflush(f);
if (ferror(f)) {
log_error_errno(errno, "Failed to write unit file %s: %m", unit);
return -errno;
}
if (ferror(f))
return log_error_errno(errno, "Failed to write unit file %s: %m", unit);
if (!noauto && post) {
lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
@ -279,10 +275,8 @@ static int add_mount(
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(unit, lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
}
if (automount) {
@ -296,10 +290,8 @@ static int add_mount(
fclose(f);
f = fopen(automount_unit, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create unit file %s: %m", automount_unit);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", automount_unit);
fprintf(f,
"# Automatically generated by systemd-fstab-generator\n\n"
@ -319,10 +311,8 @@ static int add_mount(
where);
fflush(f);
if (ferror(f)) {
log_error_errno(errno, "Failed to write unit file %s: %m", automount_unit);
return -errno;
}
if (ferror(f))
return log_error_errno(errno, "Failed to write unit file %s: %m", automount_unit);
free(lnk);
lnk = strjoin(arg_dest, "/", post, nofail ? ".wants/" : ".requires/", automount_name, NULL);
@ -330,10 +320,8 @@ static int add_mount(
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(automount_unit, lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(automount_unit, lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
}
return 0;

View File

@ -68,10 +68,8 @@ static int add_swap(const char *path) {
return log_oom();
f = fopen(unit, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create unit file %s: %m", unit);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", unit);
fprintf(f,
"# Automatically generated by systemd-gpt-auto-generator\n\n"
@ -83,20 +81,16 @@ static int add_swap(const char *path) {
path);
fflush(f);
if (ferror(f)) {
log_error_errno(errno, "Failed to write unit file %s: %m", unit);
return -errno;
}
if (ferror(f))
return log_error_errno(errno, "Failed to write unit file %s: %m", unit);
lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL);
if (!lnk)
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(unit, lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return 0;
}
@ -128,10 +122,8 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
return log_oom();
f = fopen(p, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create unit file %s: %m", p);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", p);
fprintf(f,
"# Automatically generated by systemd-gpt-auto-generator\n\n"
@ -155,10 +147,8 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
id);
fflush(f);
if (ferror(f)) {
log_error_errno(errno, "Failed to write file %s: %m", p);
return -errno;
}
if (ferror(f))
return log_error_errno(errno, "Failed to write file %s: %m", p);
from = strappenda("../", n);
@ -167,10 +157,8 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
}
if (symlink(from, to) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
free(to);
to = strjoin(arg_dest, "/cryptsetup.target.requires/", n, NULL);
@ -178,10 +166,8 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
}
if (symlink(from, to) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
free(to);
to = strjoin(arg_dest, "/dev-mapper-", e, ".device.requires/", n, NULL);
@ -189,10 +175,8 @@ static int add_cryptsetup(const char *id, const char *what, bool rw, char **devi
return log_oom();
mkdir_parents_label(to, 0755);
if (symlink(from, to) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
}
if (symlink(from, to) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
free(p);
p = strjoin(arg_dest, "/dev-mapper-", e, ".device.d/50-job-timeout-sec-0.conf", NULL);
@ -254,10 +238,8 @@ static int add_mount(
return log_oom();
f = fopen(p, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create unit file %s: %m", unit);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", unit);
fprintf(f,
"# Automatically generated by systemd-gpt-auto-generator\n\n"
@ -286,10 +268,8 @@ static int add_mount(
fprintf(f, "Options=%s\n", rw ? "rw" : "ro");
fflush(f);
if (ferror(f)) {
log_error_errno(errno, "Failed to write unit file %s: %m", p);
return -errno;
}
if (ferror(f))
return log_error_errno(errno, "Failed to write unit file %s: %m", p);
if (post) {
lnk = strjoin(arg_dest, "/", post, ".requires/", unit, NULL);
@ -297,10 +277,8 @@ static int add_mount(
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(p, lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(p, lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
}
return 0;

View File

@ -57,10 +57,8 @@ static int process_resume(void) {
return log_oom();
mkdir_parents_label(lnk, 0755);
if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-hibernate-resume@.service", lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-hibernate-resume@.service", lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return 0;
}

View File

@ -84,10 +84,8 @@ static int spawn_child(const char* child, char** argv) {
pid_t parent_pid, child_pid;
int r;
if (pipe(fd) < 0) {
log_error_errno(errno, "Failed to create pager pipe: %m");
return -errno;
}
if (pipe(fd) < 0)
return log_error_errno(errno, "Failed to create pager pipe: %m");
parent_pid = getpid();
@ -940,10 +938,8 @@ static int remoteserver_init(RemoteServer *s,
log_info("Reading file %s...", *file);
fd = open(*file, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
if (fd < 0) {
log_error_errno(errno, "Failed to open %s: %m", *file);
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to open %s: %m", *file);
output_name = *file;
}
@ -1053,10 +1049,8 @@ static int accept_connection(const char* type, int fd,
log_debug("Accepting new %s connection on fd:%d", type, fd);
fd2 = accept4(fd, &addr->sockaddr.sa, &addr->size, SOCK_NONBLOCK|SOCK_CLOEXEC);
if (fd2 < 0) {
log_error_errno(errno, "accept() on fd:%d failed: %m", fd);
return -errno;
}
if (fd2 < 0)
return log_error_errno(errno, "accept() on fd:%d failed: %m", fd);
switch(socket_address_family(addr)) {
case AF_INET:

View File

@ -357,10 +357,8 @@ static int open_file_for_upload(Uploader *u, const char *filename) {
fd = STDIN_FILENO;
else {
fd = open(filename, O_RDONLY|O_CLOEXEC|O_NOCTTY);
if (fd < 0) {
log_error_errno(errno, "Failed to open %s: %m", filename);
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to open %s: %m", filename);
}
u->input = fd;

View File

@ -209,10 +209,8 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
assert(path);
f = fopen(path, "re");
if (!f) {
log_error_errno(errno, "Failed to open file %s: %m", path);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to open file %s: %m", path);
r = catalog_file_lang(path, &deflang);
if (r < 0)

View File

@ -139,10 +139,8 @@ int coredump_vacuum(int exclude_fd, off_t keep_free, off_t max_use) {
return 0;
if (exclude_fd >= 0) {
if (fstat(exclude_fd, &exclude_st) < 0) {
log_error_errno(errno, "Failed to fstat(): %m");
return -errno;
}
if (fstat(exclude_fd, &exclude_st) < 0)
return log_error_errno(errno, "Failed to fstat(): %m");
}
/* This algorithm will keep deleting the oldest file of the

View File

@ -142,10 +142,8 @@ static int fix_acl(int fd, uid_t uid) {
* their own coredumps */
acl = acl_get_fd(fd);
if (!acl) {
log_error_errno(errno, "Failed to get ACL: %m");
return -errno;
}
if (!acl)
return log_error_errno(errno, "Failed to get ACL: %m");
if (acl_create_entry(&acl, &entry) < 0 ||
acl_set_tag_type(entry, ACL_USER) < 0 ||
@ -161,10 +159,8 @@ static int fix_acl(int fd, uid_t uid) {
return -errno;
}
if (acl_set_fd(fd, acl) < 0) {
log_error_errno(errno, "Failed to apply ACL: %m");
return -errno;
}
if (acl_set_fd(fd, acl) < 0)
return log_error_errno(errno, "Failed to apply ACL: %m");
#endif
return 0;
@ -223,15 +219,11 @@ static int fix_permissions(
fix_acl(fd, uid);
fix_xattr(fd, info);
if (fsync(fd) < 0) {
log_error_errno(errno, "Failed to sync coredump %s: %m", filename);
return -errno;
}
if (fsync(fd) < 0)
return log_error_errno(errno, "Failed to sync coredump %s: %m", filename);
if (rename(filename, target) < 0) {
log_error_errno(errno, "Failed to rename coredump %s -> %s: %m", filename, target);
return -errno;
}
if (rename(filename, target) < 0)
return log_error_errno(errno, "Failed to rename coredump %s -> %s: %m", filename, target);
return 0;
}
@ -247,10 +239,8 @@ static int maybe_remove_external_coredump(const char *filename, off_t size) {
if (!filename)
return 1;
if (unlink(filename) < 0 && errno != ENOENT) {
log_error_errno(errno, "Failed to unlink %s: %m", filename);
return -errno;
}
if (unlink(filename) < 0 && errno != ENOENT)
return log_error_errno(errno, "Failed to unlink %s: %m", filename);
return 1;
}
@ -322,10 +312,8 @@ static int save_external_coredump(
mkdir_p_label("/var/lib/systemd/coredump", 0755);
fd = open(tmp, O_CREAT|O_EXCL|O_RDWR|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW, 0640);
if (fd < 0) {
log_error_errno(errno, "Failed to create coredump file %s: %m", tmp);
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to create coredump file %s: %m", tmp);
r = copy_bytes(STDIN_FILENO, fd, arg_process_size_max);
if (r == -EFBIG) {
@ -429,10 +417,8 @@ static int allocate_journal_field(int fd, size_t size, char **ret, size_t *ret_s
assert(ret);
assert(ret_size);
if (lseek(fd, 0, SEEK_SET) == (off_t) -1) {
log_warning_errno(errno, "Failed to seek: %m");
return -errno;
}
if (lseek(fd, 0, SEEK_SET) == (off_t) -1)
return log_warning_errno(errno, "Failed to seek: %m");
field = malloc(9 + size);
if (!field) {

View File

@ -190,10 +190,8 @@ static int parse_argv(int argc, char *argv[], Set *matches) {
}
output = fopen(optarg, "we");
if (!output) {
log_error_errno(errno, "writing to '%s': %m", optarg);
return -errno;
}
if (!output)
return log_error_errno(errno, "writing to '%s': %m", optarg);
break;
@ -609,10 +607,8 @@ static int save_core(sd_journal *j, int fd, char **path, bool *unlink_temp) {
return log_oom();
fdt = mkostemp_safe(temp, O_WRONLY|O_CLOEXEC);
if (fdt < 0) {
log_error_errno(errno, "Failed to create temporary file: %m");
return -errno;
}
if (fdt < 0)
return log_error_errno(errno, "Failed to create temporary file: %m");
log_debug("Created temporary file %s", temp);
fd = fdt;

View File

@ -794,10 +794,8 @@ static int add_matches(sd_journal *j, char **args) {
p = canonicalize_file_name(*i);
path = p ? p : *i;
if (stat(path, &st) < 0) {
log_error_errno(errno, "Couldn't stat file: %m");
return -errno;
}
if (stat(path, &st) < 0)
return log_error_errno(errno, "Couldn't stat file: %m");
if (S_ISREG(st.st_mode) && (0111 & st.st_mode)) {
if (executable_is_script(path, &interpreter) > 0) {
@ -1303,10 +1301,8 @@ static int setup_keys(void) {
struct stat st;
r = stat("/var/log/journal", &st);
if (r < 0 && errno != ENOENT && errno != ENOTDIR) {
log_error_errno(errno, "stat(\"%s\") failed: %m", "/var/log/journal");
return -errno;
}
if (r < 0 && errno != ENOENT && errno != ENOTDIR)
return log_error_errno(errno, "stat(\"%s\") failed: %m", "/var/log/journal");
if (r < 0 || !S_ISDIR(st.st_mode)) {
log_error("%s is not a directory, must be using persistent logging for FSS.",
@ -1685,25 +1681,19 @@ static int flush_to_var(void) {
mkdir_p("/run/systemd/journal", 0755);
watch_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC);
if (watch_fd < 0) {
log_error_errno(errno, "Failed to create inotify watch: %m");
return -errno;
}
if (watch_fd < 0)
return log_error_errno(errno, "Failed to create inotify watch: %m");
r = inotify_add_watch(watch_fd, "/run/systemd/journal", IN_CREATE|IN_DONT_FOLLOW|IN_ONLYDIR);
if (r < 0) {
log_error_errno(errno, "Failed to watch journal directory: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to watch journal directory: %m");
for (;;) {
if (access("/run/systemd/journal/flushed", F_OK) >= 0)
break;
if (errno != ENOENT) {
log_error_errno(errno, "Failed to check for existance of /run/systemd/journal/flushed: %m");
return -errno;
}
if (errno != ENOENT)
return log_error_errno(errno, "Failed to check for existance of /run/systemd/journal/flushed: %m");
r = fd_wait_for_event(watch_fd, POLLIN, USEC_INFINITY);
if (r < 0)

View File

@ -529,18 +529,14 @@ int server_open_audit(Server *s) {
}
r = bind(s->audit_fd, &sa.sa, sizeof(sa.nl));
if (r < 0) {
log_error_errno(errno, "Failed to join audit multicast group: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to join audit multicast group: %m");
} else
fd_nonblock(s->audit_fd, 1);
r = setsockopt(s->audit_fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
if (r < 0) {
log_error_errno(errno, "Failed to set SO_PASSCRED on audit socket: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to set SO_PASSCRED on audit socket: %m");
r = sd_event_add_io(s->event, &s->audit_event_source, s->audit_fd, EPOLLIN, process_datagram, s);
if (r < 0)

View File

@ -424,28 +424,22 @@ int server_open_native_socket(Server*s) {
};
s->native_fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (s->native_fd < 0) {
log_error_errno(errno, "socket() failed: %m");
return -errno;
}
if (s->native_fd < 0)
return log_error_errno(errno, "socket() failed: %m");
unlink(sa.un.sun_path);
r = bind(s->native_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
if (r < 0) {
log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
chmod(sa.un.sun_path, 0666);
} else
fd_nonblock(s->native_fd, 1);
r = setsockopt(s->native_fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
if (r < 0) {
log_error_errno(errno, "SO_PASSCRED failed: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "SO_PASSCRED failed: %m");
#ifdef HAVE_SELINUX
if (mac_selinux_use()) {
@ -456,10 +450,8 @@ int server_open_native_socket(Server*s) {
#endif
r = setsockopt(s->native_fd, SOL_SOCKET, SO_TIMESTAMP, &one, sizeof(one));
if (r < 0) {
log_error_errno(errno, "SO_TIMESTAMP failed: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "SO_TIMESTAMP failed: %m");
r = sd_event_add_io(s->event, &s->native_event_source, s->native_fd, EPOLLIN, process_datagram, s);
if (r < 0)

View File

@ -1431,10 +1431,8 @@ static int server_open_hostname(Server *s) {
assert(s);
s->hostname_fd = open("/proc/sys/kernel/hostname", O_RDONLY|O_CLOEXEC|O_NDELAY|O_NOCTTY);
if (s->hostname_fd < 0) {
log_error_errno(errno, "Failed to open /proc/sys/kernel/hostname: %m");
return -errno;
}
if (s->hostname_fd < 0)
return log_error_errno(errno, "Failed to open /proc/sys/kernel/hostname: %m");
r = sd_event_add_io(s->event, &s->hostname_event_source, s->hostname_fd, 0, dispatch_hostname_change, s);
if (r < 0) {

View File

@ -441,25 +441,19 @@ int server_open_stdout_socket(Server *s) {
};
s->stdout_fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (s->stdout_fd < 0) {
log_error_errno(errno, "socket() failed: %m");
return -errno;
}
if (s->stdout_fd < 0)
return log_error_errno(errno, "socket() failed: %m");
unlink(sa.un.sun_path);
r = bind(s->stdout_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
if (r < 0) {
log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
chmod(sa.un.sun_path, 0666);
if (listen(s->stdout_fd, SOMAXCONN) < 0) {
log_error_errno(errno, "listen(%s) failed: %m", sa.un.sun_path);
return -errno;
}
if (listen(s->stdout_fd, SOMAXCONN) < 0)
return log_error_errno(errno, "listen(%s) failed: %m", sa.un.sun_path);
} else
fd_nonblock(s->stdout_fd, 1);

View File

@ -428,28 +428,22 @@ int server_open_syslog_socket(Server *s) {
};
s->syslog_fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (s->syslog_fd < 0) {
log_error_errno(errno, "socket() failed: %m");
return -errno;
}
if (s->syslog_fd < 0)
return log_error_errno(errno, "socket() failed: %m");
unlink(sa.un.sun_path);
r = bind(s->syslog_fd, &sa.sa, offsetof(union sockaddr_union, un.sun_path) + strlen(sa.un.sun_path));
if (r < 0) {
log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
chmod(sa.un.sun_path, 0666);
} else
fd_nonblock(s->syslog_fd, 1);
r = setsockopt(s->syslog_fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
if (r < 0) {
log_error_errno(errno, "SO_PASSCRED failed: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "SO_PASSCRED failed: %m");
#ifdef HAVE_SELINUX
if (mac_selinux_use()) {
@ -460,10 +454,8 @@ int server_open_syslog_socket(Server *s) {
#endif
r = setsockopt(s->syslog_fd, SOL_SOCKET, SO_TIMESTAMP, &one, sizeof(one));
if (r < 0) {
log_error_errno(errno, "SO_TIMESTAMP failed: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "SO_TIMESTAMP failed: %m");
r = sd_event_add_io(s->event, &s->syslog_event_source, s->syslog_fd, EPOLLIN, process_datagram, s);
if (r < 0)

View File

@ -358,16 +358,12 @@ static int evcat_sysview_fn(sysview_context *c, void *userdata, sysview_event *e
return log_error_errno(r, "Cannot acquire session control: %m");
r = ioctl(1, KDSKBMODE, K_UNICODE);
if (r < 0) {
log_error_errno(errno, "Cannot set K_UNICODE on stdout: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Cannot set K_UNICODE on stdout: %m");
r = ioctl(1, KDSETMODE, KD_TEXT);
if (r < 0) {
log_error_errno(errno, "Cannot set KD_TEXT on stdout: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Cannot set KD_TEXT on stdout: %m");
printf("\n");

View File

@ -354,10 +354,8 @@ static int modeset_sysview_fn(sysview_context *c, void *userdata, sysview_event
return log_error_errno(r, "Cannot acquire session control: %m");
r = ioctl(1, KDSKBMODE, K_UNICODE);
if (r < 0) {
log_error_errno(errno, "Cannot set K_UNICODE on stdout: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Cannot set K_UNICODE on stdout: %m");
break;
}

View File

@ -102,10 +102,8 @@ static int output_winch(Output *o) {
assert_return(o, -EINVAL);
r = ioctl(o->fd, TIOCGWINSZ, &wsz);
if (r < 0) {
log_error_errno(errno, "error: cannot read window-size: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "error: cannot read window-size: %m");
if (wsz.ws_col != o->width || wsz.ws_row != o->height) {
o->width = wsz.ws_col;
@ -822,16 +820,12 @@ static int terminal_new(Terminal **out, int in_fd, int out_fd) {
assert_return(out, -EINVAL);
r = tcgetattr(in_fd, &in_attr);
if (r < 0) {
log_error_errno(errno, "error: tcgetattr() (%d): %m", -errno);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "error: tcgetattr() (%d): %m", -errno);
r = tcgetattr(out_fd, &out_attr);
if (r < 0) {
log_error_errno(errno, "error: tcgetattr() (%d): %m", -errno);
return -errno;
}
if (r < 0)
return log_error_errno(errno, "error: tcgetattr() (%d): %m", -errno);
t = new0(Terminal, 1);
if (!t)

View File

@ -128,10 +128,8 @@ int udev_device_update_db(struct udev_device *udev_device)
strscpyl(filename_tmp, sizeof(filename_tmp), filename, ".tmp", NULL);
mkdir_parents(filename_tmp, 0755);
f = fopen(filename_tmp, "we");
if (f == NULL) {
log_debug_errno(errno, "unable to create temporary db file '%s': %m", filename_tmp);
return -errno;
}
if (f == NULL)
return log_debug_errno(errno, "unable to create temporary db file '%s': %m", filename_tmp);
/*
* set 'sticky' bit to indicate that we should not clean the

View File

@ -534,10 +534,8 @@ int udev_device_read_db(struct udev_device *udev_device, const char *dbfile)
}
f = fopen(dbfile, "re");
if (f == NULL) {
log_debug_errno(errno, "no db file to read %s: %m", dbfile);
return -errno;
}
if (f == NULL)
return log_debug_errno(errno, "no db file to read %s: %m", dbfile);
/* devices with a database entry are initialized */
udev_device->is_initialized = true;

View File

@ -401,10 +401,8 @@ static int list_x11_keymaps(sd_bus *bus, char **args, unsigned n) {
}
f = fopen("/usr/share/X11/xkb/rules/base.lst", "re");
if (!f) {
log_error_errno(errno, "Failed to open keyboard mapping list. %m");
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to open keyboard mapping list. %m");
if (streq(args[0], "list-x11-keymap-models"))
look_for = MODELS;

View File

@ -250,10 +250,8 @@ int button_open(Button *b) {
p = strappenda("/dev/input/", b->name);
b->fd = open(p, O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
if (b->fd < 0) {
log_warning_errno(errno, "Failed to open %s: %m", b->name);
return -errno;
}
if (b->fd < 0)
return log_warning_errno(errno, "Failed to open %s: %m", b->name);
if (ioctl(b->fd, EVIOCGNAME(sizeof(name)), name) < 0) {
log_error_errno(errno, "Failed to get input name: %m");

View File

@ -967,10 +967,8 @@ static int session_open_vt(Session *s) {
sprintf(path, "/dev/tty%u", s->vtnr);
s->vtfd = open(path, O_RDWR | O_CLOEXEC | O_NONBLOCK | O_NOCTTY);
if (s->vtfd < 0) {
log_error_errno(errno, "cannot open VT %s of session %s: %m", path, s->id);
return -errno;
}
if (s->vtfd < 0)
return log_error_errno(errno, "cannot open VT %s of session %s: %m", path, s->id);
return s->vtfd;
}

View File

@ -725,10 +725,8 @@ static int login_machine(sd_bus *bus, char **args, unsigned n) {
return log_error_errno(master, "Failed to acquire pseudo tty: %m");
pty = ptsname(master);
if (!pty) {
log_error_errno(errno, "Failed to get pty name: %m");
return -errno;
}
if (!pty)
return log_error_errno(errno, "Failed to get pty name: %m");
p = startswith(pty, "/dev/pts/");
if (!p) {
@ -744,10 +742,8 @@ static int login_machine(sd_bus *bus, char **args, unsigned n) {
if (!getty)
return log_oom();
if (unlockpt(master) < 0) {
log_error_errno(errno, "Failed to unlock tty: %m");
return -errno;
}
if (unlockpt(master) < 0)
return log_error_errno(errno, "Failed to unlock tty: %m");
r = sd_bus_call_method(container_bus,
"org.freedesktop.systemd1",

View File

@ -194,10 +194,8 @@ static int list_links(char **args, unsigned n) {
return log_error_errno(r, "Failed to connect to netlink: %m");
udev = udev_new();
if (!udev) {
log_error_errno(errno, "Failed to connect to udev: %m");
return -errno;
}
if (!udev)
return log_error_errno(errno, "Failed to connect to udev: %m");
r = sd_rtnl_message_new_link(rtnl, &req, RTM_GETLINK, 0);
if (r < 0)
@ -445,10 +443,8 @@ static int link_status(char **args, unsigned n) {
return log_error_errno(r, "Failed to connect to netlink: %m");
udev = udev_new();
if (!udev) {
log_error_errno(errno, "Failed to connect to udev: %m");
return -errno;
}
if (!udev)
return log_error_errno(errno, "Failed to connect to udev: %m");
if (n <= 1 && !arg_all) {
_cleanup_free_ char *operational_state = NULL;

View File

@ -738,10 +738,8 @@ static int mount_binds(const char *dest, char **l, bool ro) {
struct stat source_st, dest_st;
int r;
if (stat(*x, &source_st) < 0) {
log_error_errno(errno, "Failed to stat %s: %m", *x);
return -errno;
}
if (stat(*x, &source_st) < 0)
return log_error_errno(errno, "Failed to stat %s: %m", *x);
where = strappend(dest, *y);
if (!where)
@ -770,18 +768,12 @@ static int mount_binds(const char *dest, char **l, bool ro) {
return log_error_errno(r, "Failed to create mount point %s: %m", where);
} else if (S_ISFIFO(source_st.st_mode)) {
r = mkfifo(where, 0644);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "Failed to create mount point %s: %m", where);
return -errno;
}
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create mount point %s: %m", where);
} else if (S_ISSOCK(source_st.st_mode)) {
r = mknod(where, 0644 | S_IFSOCK, 0);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "Failed to create mount point %s: %m", where);
return -errno;
}
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create mount point %s: %m", where);
} else if (S_ISREG(source_st.st_mode)) {
r = touch(where);
if (r < 0)
@ -791,10 +783,8 @@ static int mount_binds(const char *dest, char **l, bool ro) {
return -ENOTSUP;
}
if (mount(*x, where, "bind", MS_BIND, NULL) < 0) {
log_error_errno(errno, "mount(%s) failed: %m", where);
return -errno;
}
if (mount(*x, where, "bind", MS_BIND, NULL) < 0)
return log_error_errno(errno, "mount(%s) failed: %m", where);
if (ro) {
r = bind_remount_recursive(where, true);
@ -821,10 +811,8 @@ static int mount_tmpfs(const char *dest) {
if (r < 0 && errno != EEXIST)
return log_error_errno(r, "creating mount point for tmpfs %s failed: %m", where);
if (mount("tmpfs", where, "tmpfs", MS_NODEV|MS_STRICTATIME, *o) < 0) {
log_error_errno(errno, "tmpfs mount to %s failed: %m", where);
return -errno;
}
if (mount("tmpfs", where, "tmpfs", MS_NODEV|MS_STRICTATIME, *o) < 0)
return log_error_errno(errno, "tmpfs mount to %s failed: %m", where);
}
return 0;
@ -953,15 +941,11 @@ static int setup_volatile_state(const char *directory) {
p = strappenda(directory, "/var");
r = mkdir(p, 0755);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "Failed to create %s: %m", directory);
return -errno;
}
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create %s: %m", directory);
if (mount("tmpfs", p, "tmpfs", MS_STRICTATIME, "mode=755") < 0) {
log_error_errno(errno, "Failed to mount tmpfs to /var: %m");
return -errno;
}
if (mount("tmpfs", p, "tmpfs", MS_STRICTATIME, "mode=755") < 0)
return log_error_errno(errno, "Failed to mount tmpfs to /var: %m");
return 0;
}
@ -980,10 +964,8 @@ static int setup_volatile(const char *directory) {
/* --volatile=yes means we mount a tmpfs to the root dir, and
the original /usr to use inside it, and that read-only. */
if (!mkdtemp(template)) {
log_error_errno(errno, "Failed to create temporary directory: %m");
return -errno;
}
if (!mkdtemp(template))
return log_error_errno(errno, "Failed to create temporary directory: %m");
if (mount("tmpfs", template, "tmpfs", MS_STRICTATIME, "mode=755") < 0) {
log_error_errno(errno, "Failed to mount tmpfs for root directory: %m");
@ -1114,10 +1096,8 @@ static int copy_devnodes(const char *dest) {
if (stat(from, &st) < 0) {
if (errno != ENOENT) {
log_error_errno(errno, "Failed to stat %s: %m", from);
return -errno;
}
if (errno != ENOENT)
return log_error_errno(errno, "Failed to stat %s: %m", from);
} else if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) {
@ -1131,10 +1111,8 @@ static int copy_devnodes(const char *dest) {
return -r;
}
if (mknod(to, st.st_mode, st.st_rdev) < 0) {
log_error_errno(errno, "mknod(%s) failed: %m", dest);
return -errno;
}
if (mknod(to, st.st_mode, st.st_rdev) < 0)
return log_error_errno(errno, "mknod(%s) failed: %m", dest);
}
}
@ -1148,10 +1126,8 @@ static int setup_ptmx(const char *dest) {
if (!p)
return log_oom();
if (symlink("pts/ptmx", p) < 0) {
log_error_errno(errno, "Failed to create /dev/ptmx symlink: %m");
return -errno;
}
if (symlink("pts/ptmx", p) < 0)
return log_error_errno(errno, "Failed to create /dev/ptmx symlink: %m");
return 0;
}
@ -1167,10 +1143,8 @@ static int setup_dev_console(const char *dest, const char *console) {
u = umask(0000);
if (stat("/dev/null", &st) < 0) {
log_error_errno(errno, "Failed to stat /dev/null: %m");
return -errno;
}
if (stat("/dev/null", &st) < 0)
return log_error_errno(errno, "Failed to stat /dev/null: %m");
r = chmod_and_chown(console, 0600, 0, 0);
if (r < 0)
@ -1185,15 +1159,11 @@ static int setup_dev_console(const char *dest, const char *console) {
* matter here, since we mount it over anyway). */
to = strappenda(dest, "/dev/console");
if (mknod(to, (st.st_mode & ~07777) | 0600, st.st_rdev) < 0) {
log_error_errno(errno, "mknod() for /dev/console failed: %m");
return -errno;
}
if (mknod(to, (st.st_mode & ~07777) | 0600, st.st_rdev) < 0)
return log_error_errno(errno, "mknod() for /dev/console failed: %m");
if (mount(console, to, "bind", MS_BIND, NULL) < 0) {
log_error_errno(errno, "Bind mount for /dev/console failed: %m");
return -errno;
}
if (mount(console, to, "bind", MS_BIND, NULL) < 0)
return log_error_errno(errno, "Bind mount for /dev/console failed: %m");
return 0;
}
@ -1228,25 +1198,19 @@ static int setup_kmsg(const char *dest, int kmsg_socket) {
asprintf(&to, "%s/proc/kmsg", dest) < 0)
return log_oom();
if (mkfifo(from, 0600) < 0) {
log_error_errno(errno, "mkfifo() for /dev/kmsg failed: %m");
return -errno;
}
if (mkfifo(from, 0600) < 0)
return log_error_errno(errno, "mkfifo() for /dev/kmsg failed: %m");
r = chmod_and_chown(from, 0600, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to correct access mode for /dev/kmsg: %m");
if (mount(from, to, "bind", MS_BIND, NULL) < 0) {
log_error_errno(errno, "Bind mount for /proc/kmsg failed: %m");
return -errno;
}
if (mount(from, to, "bind", MS_BIND, NULL) < 0)
return log_error_errno(errno, "Bind mount for /proc/kmsg failed: %m");
fd = open(from, O_RDWR|O_NDELAY|O_CLOEXEC);
if (fd < 0) {
log_error_errno(errno, "Failed to open fifo: %m");
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to open fifo: %m");
cmsg = CMSG_FIRSTHDR(&mh);
cmsg->cmsg_level = SOL_SOCKET;
@ -1261,10 +1225,8 @@ static int setup_kmsg(const char *dest, int kmsg_socket) {
k = sendmsg(kmsg_socket, &mh, MSG_DONTWAIT|MSG_NOSIGNAL);
safe_close(fd);
if (k < 0) {
log_error_errno(errno, "Failed to send FIFO fd: %m");
return -errno;
}
if (k < 0)
return log_error_errno(errno, "Failed to send FIFO fd: %m");
/* And now make the FIFO unavailable as /dev/kmsg... */
unlink(from);
@ -1359,10 +1321,8 @@ static int setup_journal(const char *directory) {
return 0;
}
if (unlink(p) < 0) {
log_error_errno(errno, "Failed to remove symlink %s: %m", p);
return -errno;
}
if (unlink(p) < 0)
return log_error_errno(errno, "Failed to remove symlink %s: %m", p);
} else if (r == -EINVAL) {
if (arg_link_journal == LINK_GUEST &&
@ -1425,10 +1385,8 @@ static int setup_journal(const char *directory) {
return r;
}
if (mount(p, q, "bind", MS_BIND, NULL) < 0) {
log_error_errno(errno, "Failed to bind mount journal from host into guest: %m");
return -errno;
}
if (mount(p, q, "bind", MS_BIND, NULL) < 0)
return log_error_errno(errno, "Failed to bind mount journal from host into guest: %m");
return 0;
}
@ -1752,10 +1710,8 @@ static int setup_veth(pid_t pid, char iface_name[IFNAMSIZ], int *ifi) {
return log_error_errno(r, "Failed to add new veth interfaces: %m");
i = (int) if_nametoindex(iface_name);
if (i <= 0) {
log_error_errno(errno, "Failed to resolve interface %s: %m", iface_name);
return -errno;
}
if (i <= 0)
return log_error_errno(errno, "Failed to resolve interface %s: %m", iface_name);
*ifi = i;
@ -1777,10 +1733,8 @@ static int setup_bridge(const char veth_name[], int *ifi) {
return 0;
bridge = (int) if_nametoindex(arg_network_bridge);
if (bridge <= 0) {
log_error_errno(errno, "Failed to resolve interface %s: %m", arg_network_bridge);
return -errno;
}
if (bridge <= 0)
return log_error_errno(errno, "Failed to resolve interface %s: %m", arg_network_bridge);
*ifi = bridge;
@ -1817,17 +1771,13 @@ static int parse_interface(struct udev *udev, const char *name) {
int ifi;
ifi = (int) if_nametoindex(name);
if (ifi <= 0) {
log_error_errno(errno, "Failed to resolve interface %s: %m", name);
return -errno;
}
if (ifi <= 0)
return log_error_errno(errno, "Failed to resolve interface %s: %m", name);
sprintf(ifi_str, "n%i", ifi);
d = udev_device_new_from_device_id(udev, ifi_str);
if (!d) {
log_error_errno(errno, "Failed to get udev device for interface %s: %m", name);
return -errno;
}
if (!d)
return log_error_errno(errno, "Failed to get udev device for interface %s: %m", name);
if (udev_device_get_is_initialized(d) <= 0) {
log_error("Network interface %s is not initialized yet.", name);
@ -2057,15 +2007,11 @@ static int setup_image(char **device_path, int *loop_nr) {
assert(loop_nr);
fd = open(arg_image, O_CLOEXEC|(arg_read_only ? O_RDONLY : O_RDWR)|O_NONBLOCK|O_NOCTTY);
if (fd < 0) {
log_error_errno(errno, "Failed to open %s: %m", arg_image);
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to open %s: %m", arg_image);
if (fstat(fd, &st) < 0) {
log_error_errno(errno, "Failed to stat %s: %m", arg_image);
return -errno;
}
if (fstat(fd, &st) < 0)
return log_error_errno(errno, "Failed to stat %s: %m", arg_image);
if (S_ISBLK(st.st_mode)) {
char *p;
@ -2090,38 +2036,28 @@ static int setup_image(char **device_path, int *loop_nr) {
}
control = open("/dev/loop-control", O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
if (control < 0) {
log_error_errno(errno, "Failed to open /dev/loop-control: %m");
return -errno;
}
if (control < 0)
return log_error_errno(errno, "Failed to open /dev/loop-control: %m");
nr = ioctl(control, LOOP_CTL_GET_FREE);
if (nr < 0) {
log_error_errno(errno, "Failed to allocate loop device: %m");
return -errno;
}
if (nr < 0)
return log_error_errno(errno, "Failed to allocate loop device: %m");
if (asprintf(&loopdev, "/dev/loop%i", nr) < 0)
return log_oom();
loop = open(loopdev, O_CLOEXEC|(arg_read_only ? O_RDONLY : O_RDWR)|O_NONBLOCK|O_NOCTTY);
if (loop < 0) {
log_error_errno(errno, "Failed to open loop device %s: %m", loopdev);
return -errno;
}
if (loop < 0)
return log_error_errno(errno, "Failed to open loop device %s: %m", loopdev);
if (ioctl(loop, LOOP_SET_FD, fd) < 0) {
log_error_errno(errno, "Failed to set loopback file descriptor on %s: %m", loopdev);
return -errno;
}
if (ioctl(loop, LOOP_SET_FD, fd) < 0)
return log_error_errno(errno, "Failed to set loopback file descriptor on %s: %m", loopdev);
if (arg_read_only)
info.lo_flags |= LO_FLAGS_READ_ONLY;
if (ioctl(loop, LOOP_SET_STATUS64, &info) < 0) {
log_error_errno(errno, "Failed to set loopback settings on %s: %m", loopdev);
return -errno;
}
if (ioctl(loop, LOOP_SET_STATUS64, &info) < 0)
return log_error_errno(errno, "Failed to set loopback settings on %s: %m", loopdev);
*device_path = loopdev;
loopdev = NULL;
@ -2212,10 +2148,8 @@ static int dissect_image(
if (!udev)
return log_oom();
if (fstat(fd, &st) < 0) {
log_error_errno(errno, "Failed to stat block device: %m");
return -errno;
}
if (fstat(fd, &st) < 0)
return log_error_errno(errno, "Failed to stat block device: %m");
d = udev_device_new_from_devnum(udev, 'b', st.st_rdev);
if (!d)
@ -2436,10 +2370,8 @@ static int mount_device(const char *what, const char *where, const char *directo
return -ENOTSUP;
}
if (mount(what, p, fstype, MS_NODEV|(rw ? 0 : MS_RDONLY), NULL) < 0) {
log_error_errno(errno, "Failed to mount %s: %m", what);
return -errno;
}
if (mount(what, p, fstype, MS_NODEV|(rw ? 0 : MS_RDONLY), NULL) < 0)
return log_error_errno(errno, "Failed to mount %s: %m", what);
return 0;
#else
@ -2511,16 +2443,13 @@ static int spawn_getent(const char *database, const char *key, pid_t *rpid) {
assert(key);
assert(rpid);
if (pipe2(pipe_fds, O_CLOEXEC) < 0) {
log_error_errno(errno, "Failed to allocate pipe: %m");
return -errno;
}
if (pipe2(pipe_fds, O_CLOEXEC) < 0)
return log_error_errno(errno, "Failed to allocate pipe: %m");
pid = fork();
if (pid < 0) {
log_error_errno(errno, "Failed to fork getent child: %m");
return -errno;
} else if (pid == 0) {
if (pid < 0)
return log_error_errno(errno, "Failed to fork getent child: %m");
else if (pid == 0) {
int nullfd;
char *empty_env = NULL;
@ -2579,20 +2508,14 @@ static int change_uid_gid(char **_home) {
if (!arg_user || streq(arg_user, "root") || streq(arg_user, "0")) {
/* Reset everything fully to 0, just in case */
if (setgroups(0, NULL) < 0) {
log_error_errno(errno, "setgroups() failed: %m");
return -errno;
}
if (setgroups(0, NULL) < 0)
return log_error_errno(errno, "setgroups() failed: %m");
if (setresgid(0, 0, 0) < 0) {
log_error_errno(errno, "setregid() failed: %m");
return -errno;
}
if (setresgid(0, 0, 0) < 0)
return log_error_errno(errno, "setregid() failed: %m");
if (setresuid(0, 0, 0) < 0) {
log_error_errno(errno, "setreuid() failed: %m");
return -errno;
}
if (setresuid(0, 0, 0) < 0)
return log_error_errno(errno, "setreuid() failed: %m");
*_home = NULL;
return 0;
@ -2740,20 +2663,14 @@ static int change_uid_gid(char **_home) {
fchown(STDOUT_FILENO, uid, gid);
fchown(STDERR_FILENO, uid, gid);
if (setgroups(n_uids, uids) < 0) {
log_error_errno(errno, "Failed to set auxiliary groups: %m");
return -errno;
}
if (setgroups(n_uids, uids) < 0)
return log_error_errno(errno, "Failed to set auxiliary groups: %m");
if (setresgid(gid, gid, gid) < 0) {
log_error_errno(errno, "setregid() failed: %m");
return -errno;
}
if (setresgid(gid, gid, gid) < 0)
return log_error_errno(errno, "setregid() failed: %m");
if (setresuid(uid, uid, uid) < 0) {
log_error_errno(errno, "setreuid() failed: %m");
return -errno;
}
if (setresuid(uid, uid, uid) < 0)
return log_error_errno(errno, "setreuid() failed: %m");
if (_home) {
*_home = home;

View File

@ -51,10 +51,8 @@ static int send_on_socket(int fd, const char *socket_name, const void *packet, s
strncpy(sa.un.sun_path, socket_name, sizeof(sa.un.sun_path));
if (sendto(fd, packet, size, MSG_NOSIGNAL, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(socket_name)) < 0) {
log_error_errno(errno, "Failed to send: %m");
return -errno;
}
if (sendto(fd, packet, size, MSG_NOSIGNAL, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(socket_name)) < 0)
return log_error_errno(errno, "Failed to send: %m");
return 0;
}

View File

@ -513,10 +513,8 @@ static int parse_argv(int argc, char *argv[]) {
case 'i':
arg_ifindex = if_nametoindex(optarg);
if (arg_ifindex <= 0) {
log_error_errno(errno, "Unknown interfaces %s: %m", optarg);
return -errno;
}
if (arg_ifindex <= 0)
return log_error_errno(errno, "Unknown interfaces %s: %m", optarg);
break;
case 't':

View File

@ -488,10 +488,8 @@ static int start_transient_scope(
return bus_log_create_error(r);
if (arg_nice_set) {
if (setpriority(PRIO_PROCESS, 0, arg_nice) < 0) {
log_error_errno(errno, "Failed to set nice level: %m");
return -errno;
}
if (setpriority(PRIO_PROCESS, 0, arg_nice) < 0)
return log_error_errno(errno, "Failed to set nice level: %m");
}
if (arg_exec_group) {
@ -501,10 +499,8 @@ static int start_transient_scope(
if (r < 0)
return log_error_errno(r, "Failed to resolve group %s: %m", arg_exec_group);
if (setresgid(gid, gid, gid) < 0) {
log_error_errno(errno, "Failed to change GID to " GID_FMT ": %m", gid);
return -errno;
}
if (setresgid(gid, gid, gid) < 0)
return log_error_errno(errno, "Failed to change GID to " GID_FMT ": %m", gid);
}
if (arg_exec_user) {
@ -533,16 +529,12 @@ static int start_transient_scope(
return log_oom();
if (!arg_exec_group) {
if (setresgid(gid, gid, gid) < 0) {
log_error_errno(errno, "Failed to change GID to " GID_FMT ": %m", gid);
return -errno;
}
if (setresgid(gid, gid, gid) < 0)
return log_error_errno(errno, "Failed to change GID to " GID_FMT ": %m", gid);
}
if (setresuid(uid, uid, uid) < 0) {
log_error_errno(errno, "Failed to change UID to " UID_FMT ": %m", uid);
return -errno;
}
if (setresuid(uid, uid, uid) < 0)
return log_error_errno(errno, "Failed to change UID to " UID_FMT ": %m", uid);
}
env = strv_env_merge(3, environ, user_env, arg_environment);

View File

@ -258,10 +258,8 @@ static int create_socket(char **name) {
assert(name);
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (fd < 0) {
log_error_errno(errno, "socket() failed: %m");
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "socket() failed: %m");
snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%" PRIx64, random_u64());

View File

@ -58,10 +58,8 @@ int base_filesystem_create(const char *root) {
int r;
fd = open(root, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
if (fd < 0) {
log_error_errno(errno, "Failed to open root file system: %m");
return -errno;
}
if (fd < 0)
return log_error_errno(errno, "Failed to open root file system: %m");
for (i = 0; i < ELEMENTSOF(table); i ++) {
if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
@ -95,19 +93,15 @@ int base_filesystem_create(const char *root) {
continue;
r = symlinkat(target, fd, table[i].dir);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "Failed to create symlink at %s/%s: %m", root, table[i].dir);
return -errno;
}
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create symlink at %s/%s: %m", root, table[i].dir);
continue;
}
RUN_WITH_UMASK(0000)
r = mkdirat(fd, table[i].dir, table[i].mode);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "Failed to create directory at %s/%s: %m", root, table[i].dir);
return -errno;
}
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "Failed to create directory at %s/%s: %m", root, table[i].dir);
}
return 0;

View File

@ -227,31 +227,21 @@ int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities) {
* binary has the capability configured in the file system,
* which we want to avoid. */
if (setresgid(gid, gid, gid) < 0) {
log_error_errno(errno, "Failed to change group ID: %m");
return -errno;
}
if (setresgid(gid, gid, gid) < 0)
return log_error_errno(errno, "Failed to change group ID: %m");
if (setgroups(0, NULL) < 0) {
log_error_errno(errno, "Failed to drop auxiliary groups list: %m");
return -errno;
}
if (setgroups(0, NULL) < 0)
return log_error_errno(errno, "Failed to drop auxiliary groups list: %m");
if (prctl(PR_SET_KEEPCAPS, 1) < 0) {
log_error_errno(errno, "Failed to enable keep capabilities flag: %m");
return -errno;
}
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) {
log_error_errno(errno, "Failed to change user ID: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to change user ID: %m");
if (prctl(PR_SET_KEEPCAPS, 0) < 0) {
log_error_errno(errno, "Failed to disable keep capabilities flag: %m");
return -errno;
}
if (prctl(PR_SET_KEEPCAPS, 0) < 0)
return log_error_errno(errno, "Failed to disable keep capabilities flag: %m");
r = capability_bounding_set_drop(~keep_capabilities, true);
if (r < 0)
@ -276,10 +266,8 @@ int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities) {
}
}
if (cap_set_proc(d) < 0) {
log_error_errno(errno, "Failed to increase capabilities: %m");
return -errno;
}
if (cap_set_proc(d) < 0)
return log_error_errno(errno, "Failed to increase capabilities: %m");
return 0;
}

View File

@ -64,10 +64,8 @@ int generator_write_fsck_deps(
lnk = strappenda(dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/systemd-fsck-root.service");
mkdir_parents(lnk, 0755);
if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-fsck-root.service", lnk) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
return -errno;
}
if (symlink(SYSTEM_DATA_UNIT_PATH "/systemd-fsck-root.service", lnk) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
} else {
_cleanup_free_ char *fsck = NULL;

View File

@ -67,10 +67,8 @@ int pager_open(bool jump_to_end) {
* pager so that we get the value from the actual tty */
columns();
if (pipe(fd) < 0) {
log_error_errno(errno, "Failed to create pager pipe: %m");
return -errno;
}
if (pipe(fd) < 0)
return log_error_errno(errno, "Failed to create pager pipe: %m");
parent_pid = getpid();
@ -126,10 +124,8 @@ int pager_open(bool jump_to_end) {
}
/* Return in the parent */
if (dup2(fd[1], STDOUT_FILENO) < 0) {
log_error_errno(errno, "Failed to duplicate pager pipe: %m");
return -errno;
}
if (dup2(fd[1], STDOUT_FILENO) < 0)
return log_error_errno(errno, "Failed to duplicate pager pipe: %m");
safe_close_pair(fd);
return 1;
@ -176,10 +172,8 @@ int show_man_page(const char *desc, bool null_stdio) {
args[1] = desc;
pid = fork();
if (pid < 0) {
log_error_errno(errno, "Failed to fork: %m");
return -errno;
}
if (pid < 0)
return log_error_errno(errno, "Failed to fork: %m");
if (pid == 0) {
/* Child */

View File

@ -657,10 +657,8 @@ int getnameinfo_pretty(int fd, char **ret) {
assert(fd >= 0);
assert(ret);
if (getsockname(fd, &sa.sa, &salen) < 0) {
log_error_errno(errno, "getsockname(%d) failed: %m", fd);
return -errno;
}
if (getsockname(fd, &sa.sa, &salen) < 0)
return log_error_errno(errno, "getsockname(%d) failed: %m", fd);
return socknameinfo_pretty(&sa, salen, ret);
}

View File

@ -56,10 +56,8 @@ int switch_root(const char *new_root, const char *oldroot, bool detach_oldroot,
old_root_remove = in_initrd();
if (stat(new_root, &new_root_stat) < 0) {
log_error_errno(errno, "Failed to stat directory %s: %m", new_root);
return -errno;
}
if (stat(new_root, &new_root_stat) < 0)
return log_error_errno(errno, "Failed to stat directory %s: %m", new_root);
/* Work-around for kernel design: the kernel refuses switching
* root if any file systems are mounted MS_SHARED. Hence
@ -109,10 +107,8 @@ int switch_root(const char *new_root, const char *oldroot, bool detach_oldroot,
* switch_root() nevertheless. */
(void) base_filesystem_create(new_root);
if (chdir(new_root) < 0) {
log_error_errno(errno, "Failed to change directory to %s: %m", new_root);
return -errno;
}
if (chdir(new_root) < 0)
return log_error_errno(errno, "Failed to change directory to %s: %m", new_root);
if (old_root_remove) {
old_root_fd = open("/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY|O_DIRECTORY);
@ -132,20 +128,14 @@ int switch_root(const char *new_root, const char *oldroot, bool detach_oldroot,
oldroot,
errno == ENOENT ? "ignoring" : "leaving it around");
} else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0) {
log_error_errno(errno, "Failed to mount moving %s to /: %m", new_root);
return -errno;
}
} else if (mount(new_root, "/", NULL, MS_MOVE, NULL) < 0)
return log_error_errno(errno, "Failed to mount moving %s to /: %m", new_root);
if (chroot(".") < 0) {
log_error_errno(errno, "Failed to change root: %m");
return -errno;
}
if (chroot(".") < 0)
return log_error_errno(errno, "Failed to change root: %m");
if (chdir("/") < 0) {
log_error_errno(errno, "Failed to change directory: %m");
return -errno;
}
if (chdir("/") < 0)
return log_error_errno(errno, "Failed to change directory: %m");
if (old_root_fd >= 0) {
struct stat rb;

View File

@ -44,36 +44,28 @@ static int update_timeout(void) {
flags = WDIOS_DISABLECARD;
r = ioctl(watchdog_fd, WDIOC_SETOPTIONS, &flags);
if (r < 0) {
log_warning_errno(errno, "Failed to disable hardware watchdog: %m");
return -errno;
}
if (r < 0)
return log_warning_errno(errno, "Failed to disable hardware watchdog: %m");
} else {
int sec, flags;
char buf[FORMAT_TIMESPAN_MAX];
sec = (int) ((watchdog_timeout + USEC_PER_SEC - 1) / USEC_PER_SEC);
r = ioctl(watchdog_fd, WDIOC_SETTIMEOUT, &sec);
if (r < 0) {
log_warning_errno(errno, "Failed to set timeout to %is: %m", sec);
return -errno;
}
if (r < 0)
return log_warning_errno(errno, "Failed to set timeout to %is: %m", sec);
watchdog_timeout = (usec_t) sec * USEC_PER_SEC;
log_info("Set hardware watchdog to %s.", format_timespan(buf, sizeof(buf), watchdog_timeout, 0));
flags = WDIOS_ENABLECARD;
r = ioctl(watchdog_fd, WDIOC_SETOPTIONS, &flags);
if (r < 0) {
log_warning_errno(errno, "Failed to enable hardware watchdog: %m");
return -errno;
}
if (r < 0)
return log_warning_errno(errno, "Failed to enable hardware watchdog: %m");
r = ioctl(watchdog_fd, WDIOC_KEEPALIVE, 0);
if (r < 0) {
log_warning_errno(errno, "Failed to ping hardware watchdog: %m");
return -errno;
}
if (r < 0)
return log_warning_errno(errno, "Failed to ping hardware watchdog: %m");
}
return 0;
@ -127,10 +119,8 @@ int watchdog_ping(void) {
}
r = ioctl(watchdog_fd, WDIOC_KEEPALIVE, 0);
if (r < 0) {
log_warning_errno(errno, "Failed to ping hardware watchdog: %m");
return -errno;
}
if (r < 0)
return log_warning_errno(errno, "Failed to ping hardware watchdog: %m");
return 0;
}

View File

@ -77,10 +77,8 @@ static int write_state(FILE **f, char **states) {
fclose(*f);
*f = fopen("/sys/power/state", "we");
if (!*f) {
log_error_errno(errno, "Failed to open /sys/power/state: %m");
return -errno;
}
if (!*f)
return log_error_errno(errno, "Failed to open /sys/power/state: %m");
}
return r;
@ -101,10 +99,8 @@ static int execute(char **modes, char **states) {
/* This file is opened first, so that if we hit an error,
* we can abort before modifying any state. */
f = fopen("/sys/power/state", "we");
if (!f) {
log_error_errno(errno, "Failed to open /sys/power/state: %m");
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to open /sys/power/state: %m");
/* Configure the hibernation mode */
r = write_mode(modes);

View File

@ -120,18 +120,14 @@ static int connection_create_pipes(Connection *c, int buffer[2], size_t *sz) {
return 0;
r = pipe2(buffer, O_CLOEXEC|O_NONBLOCK);
if (r < 0) {
log_error_errno(errno, "Failed to allocate pipe buffer: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to allocate pipe buffer: %m");
(void) fcntl(buffer[0], F_SETPIPE_SZ, BUFFER_SIZE);
r = fcntl(buffer[0], F_GETPIPE_SZ);
if (r < 0) {
log_error_errno(errno, "Failed to get pipe buffer size: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to get pipe buffer size: %m");
assert(r > 0);
*sz = r;
@ -171,10 +167,8 @@ static int connection_shovel(
} else if (z == 0 || errno == EPIPE || errno == ECONNRESET) {
*from_source = sd_event_source_unref(*from_source);
*from = safe_close(*from);
} else if (errno != EAGAIN && errno != EINTR) {
log_error_errno(errno, "Failed to splice: %m");
return -errno;
}
} else if (errno != EAGAIN && errno != EINTR)
return log_error_errno(errno, "Failed to splice: %m");
}
if (*full > 0 && *to >= 0) {
@ -185,10 +179,8 @@ static int connection_shovel(
} else if (z == 0 || errno == EPIPE || errno == ECONNRESET) {
*to_source = sd_event_source_unref(*to_source);
*to = safe_close(*to);
} else if (errno != EAGAIN && errno != EINTR) {
log_error_errno(errno, "Failed to splice: %m");
return -errno;
}
} else if (errno != EAGAIN && errno != EINTR)
return log_error_errno(errno, "Failed to splice: %m");
}
} while (shoveled);

View File

@ -46,10 +46,8 @@ static int generate_symlink(void) {
}
p = strappenda(arg_dest, "/default.target");
if (symlink(SYSTEM_DATA_UNIT_PATH "/system-update.target", p) < 0) {
log_error_errno(errno, "Failed to create symlink %s: %m", p);
return -errno;
}
if (symlink(SYSTEM_DATA_UNIT_PATH "/system-update.target", p) < 0)
return log_error_errno(errno, "Failed to create symlink %s: %m", p);
return 0;
}

View File

@ -5219,10 +5219,9 @@ static int enable_sysv_units(const char *verb, char **args) {
log_info("Executing %s", l);
pid = fork();
if (pid < 0) {
log_error_errno(errno, "Failed to fork: %m");
return -errno;
} else if (pid == 0) {
if (pid < 0)
return log_error_errno(errno, "Failed to fork: %m");
else if (pid == 0) {
/* Child */
execv(argv[0], (char**) argv);
@ -6952,10 +6951,8 @@ static int reload_with_fallback(sd_bus *bus) {
/* Nothing else worked, so let's try signals */
assert(arg_action == ACTION_RELOAD || arg_action == ACTION_REEXEC);
if (kill(1, arg_action == ACTION_RELOAD ? SIGHUP : SIGTERM) < 0) {
log_error_errno(errno, "kill() failed: %m");
return -errno;
}
if (kill(1, arg_action == ACTION_RELOAD ? SIGHUP : SIGTERM) < 0)
return log_error_errno(errno, "kill() failed: %m");
return 0;
}

View File

@ -898,10 +898,8 @@ static int add_user(Item *i) {
i->description = strdup(p->pw_gecos);
return 0;
}
if (!IN_SET(errno, 0, ENOENT)) {
log_error_errno(errno, "Failed to check if user %s already exists: %m", i->name);
return -errno;
}
if (!IN_SET(errno, 0, ENOENT))
return log_error_errno(errno, "Failed to check if user %s already exists: %m", i->name);
/* And shadow too, just to be sure */
errno = 0;
@ -910,10 +908,8 @@ static int add_user(Item *i) {
log_error("User %s already exists in shadow database, but not in user database.", i->name);
return -EBADMSG;
}
if (!IN_SET(errno, 0, ENOENT)) {
log_error_errno(errno, "Failed to check if user %s already exists in shadow database: %m", i->name);
return -errno;
}
if (!IN_SET(errno, 0, ENOENT))
return log_error_errno(errno, "Failed to check if user %s already exists in shadow database: %m", i->name);
}
/* Try to use the suggested numeric uid */
@ -1056,10 +1052,8 @@ static int add_group(Item *i) {
i->gid_set = true;
return 0;
}
if (!IN_SET(errno, 0, ENOENT)) {
log_error_errno(errno, "Failed to check if group %s already exists: %m", i->name);
return -errno;
}
if (!IN_SET(errno, 0, ENOENT))
return log_error_errno(errno, "Failed to check if group %s already exists: %m", i->name);
}
/* Try to use the suggested numeric gid */

View File

@ -143,10 +143,8 @@ static int generate_unit_file(SysvStub *s) {
return log_oom();
f = fopen(unit, "wxe");
if (!f) {
log_error_errno(errno, "Failed to create unit file %s: %m", unit);
return -errno;
}
if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", unit);
fprintf(f,
"# Automatically generated by systemd-sysv-generator\n\n"

View File

@ -311,15 +311,11 @@ static int manager_clock_watch_setup(Manager *m) {
safe_close(m->clock_watch_fd);
m->clock_watch_fd = timerfd_create(CLOCK_REALTIME, TFD_NONBLOCK|TFD_CLOEXEC);
if (m->clock_watch_fd < 0) {
log_error_errno(errno, "Failed to create timerfd: %m");
return -errno;
}
if (m->clock_watch_fd < 0)
return log_error_errno(errno, "Failed to create timerfd: %m");
if (timerfd_settime(m->clock_watch_fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) < 0) {
log_error_errno(errno, "Failed to set up timerfd: %m");
return -errno;
}
if (timerfd_settime(m->clock_watch_fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) < 0)
return log_error_errno(errno, "Failed to set up timerfd: %m");
r = sd_event_add_io(m->event, &m->event_clock_watch, m->clock_watch_fd, EPOLLIN, manager_clock_watch, m);
if (r < 0)

View File

@ -469,10 +469,8 @@ static int item_set_perms(Item *i, const char *path) {
}
if (!st_valid || m != (st.st_mode & 07777)) {
if (chmod(path, m) < 0) {
log_error_errno(errno, "chmod(%s) failed: %m", path);
return -errno;
}
if (chmod(path, m) < 0)
return log_error_errno(errno, "chmod(%s) failed: %m", path);
}
}
@ -534,10 +532,8 @@ static int write_one_file(Item *i, const char *path) {
fd = safe_close(fd);
if (stat(path, &st) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", path);
return -errno;
}
if (stat(path, &st) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", path);
if (!S_ISREG(st.st_mode)) {
log_error("%s is not a file.", path);
@ -670,15 +666,11 @@ static int create_item(Item *i) {
if (r != -EEXIST)
return log_error_errno(r, "Failed to copy files to %s: %m", i->path);
if (stat(i->argument, &a) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", i->argument);
return -errno;
}
if (stat(i->argument, &a) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", i->argument);
if (stat(i->path, &b) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", i->path);
return -errno;
}
if (stat(i->path, &b) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", i->path);
if ((a.st_mode ^ b.st_mode) & S_IFMT) {
log_debug("Can't copy to %s, file exists already and is of different type", i->path);
@ -711,10 +703,8 @@ static int create_item(Item *i) {
if (r != -EEXIST)
return log_error_errno(r, "Failed to create directory %s: %m", i->path);
if (stat(i->path, &st) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", i->path);
return -errno;
}
if (stat(i->path, &st) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", i->path);
if (!S_ISDIR(st.st_mode)) {
log_debug("%s already exists and is not a directory.", i->path);
@ -737,15 +727,11 @@ static int create_item(Item *i) {
}
if (r < 0) {
if (errno != EEXIST) {
log_error_errno(errno, "Failed to create fifo %s: %m", i->path);
return -errno;
}
if (errno != EEXIST)
return log_error_errno(errno, "Failed to create fifo %s: %m", i->path);
if (stat(i->path, &st) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", i->path);
return -errno;
}
if (stat(i->path, &st) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", i->path);
if (!S_ISFIFO(st.st_mode)) {
@ -781,10 +767,8 @@ static int create_item(Item *i) {
if (r < 0) {
_cleanup_free_ char *x = NULL;
if (errno != EEXIST) {
log_error_errno(errno, "symlink(%s, %s) failed: %m", i->argument, i->path);
return -errno;
}
if (errno != EEXIST)
return log_error_errno(errno, "symlink(%s, %s) failed: %m", i->argument, i->path);
r = readlink_malloc(i->path, &x);
if (r < 0 || !streq(i->argument, x)) {
@ -834,15 +818,11 @@ static int create_item(Item *i) {
return 0;
}
if (errno != EEXIST) {
log_error_errno(errno, "Failed to create device node %s: %m", i->path);
return -errno;
}
if (errno != EEXIST)
return log_error_errno(errno, "Failed to create device node %s: %m", i->path);
if (stat(i->path, &st) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", i->path);
return -errno;
}
if (stat(i->path, &st) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", i->path);
if ((st.st_mode & S_IFMT) != file_type) {
@ -916,10 +896,8 @@ static int remove_item_instance(Item *i, const char *instance) {
break;
case REMOVE_PATH:
if (remove(instance) < 0 && errno != ENOENT) {
log_error_errno(errno, "remove(%s): %m", instance);
return -errno;
}
if (remove(instance) < 0 && errno != ENOENT)
return log_error_errno(errno, "remove(%s): %m", instance);
break;
@ -997,20 +975,16 @@ static int clean_item_instance(Item *i, const char* instance) {
return -errno;
}
if (fstat(dirfd(d), &s) < 0) {
log_error_errno(errno, "stat(%s) failed: %m", i->path);
return -errno;
}
if (fstat(dirfd(d), &s) < 0)
return log_error_errno(errno, "stat(%s) failed: %m", i->path);
if (!S_ISDIR(s.st_mode)) {
log_error("%s is not a directory.", i->path);
return -ENOTDIR;
}
if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0) {
log_error_errno(errno, "stat(%s/..) failed: %m", i->path);
return -errno;
}
if (fstatat(dirfd(d), "..", &ps, AT_SYMLINK_NOFOLLOW) != 0)
return log_error_errno(errno, "stat(%s/..) failed: %m", i->path);
mountpoint = s.st_dev != ps.st_dev ||
(s.st_dev == ps.st_dev && s.st_ino == ps.st_ino);

View File

@ -90,10 +90,8 @@ static int ask_password_plymouth(
return -errno;
r = connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1));
if (r < 0) {
log_error_errno(errno, "Failed to connect to Plymouth: %m");
return -errno;
}
if (r < 0)
return log_error_errno(errno, "Failed to connect to Plymouth: %m");
if (accept_cached) {
packet = strdup("c");
@ -342,10 +340,8 @@ static int parse_password(const char *filename, char **wall) {
return log_error_errno(r, "Failed to query password: %m");
socket_fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0);
if (socket_fd < 0) {
log_error_errno(errno, "socket(): %m");
return -errno;
}
if (socket_fd < 0)
return log_error_errno(errno, "socket(): %m");
sa.un.sun_family = AF_UNIX;
strncpy(sa.un.sun_path, socket_name, sizeof(sa.un.sun_path));

View File

@ -2659,10 +2659,10 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules) {
strscpyl(tag_symlink, sizeof(tag_symlink), tags_dir, unescaped_filename, NULL);
r = symlink(device_node, tag_symlink);
if (r < 0 && errno != EEXIST) {
log_error_errno(errno, "failed to create symlink %s -> %s: %m", tag_symlink, device_node);
return -errno;
} else
if (r < 0 && errno != EEXIST)
return log_error_errno(errno, "failed to create symlink %s -> %s: %m",
tag_symlink, device_node);
else
r = 0;
}
}

View File

@ -122,10 +122,9 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle,
args[i++] = NULL;
pid = fork();
if (pid < 0) {
log_error_errno(errno, "Failed to fork: %m");
return -errno;
} else if (pid == 0) {
if (pid < 0)
return log_error_errno(errno, "Failed to fork: %m");
else if (pid == 0) {
execv(args[0], (char **) args);
_exit(EXIT_FAILURE);
}
@ -160,10 +159,9 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
args[i++] = NULL;
pid = fork();
if (pid < 0) {
log_error_errno(errno, "Failed to fork: %m");
return -errno;
} else if (pid == 0) {
if (pid < 0)
return log_error_errno(errno, "Failed to fork: %m");
else if (pid == 0) {
execv(args[0], (char **) args);
_exit(EXIT_FAILURE);
}