From: Lennart Poettering Date: Mon, 14 Sep 2020 16:16:54 +0000 (+0200) Subject: tree-wide: don't needlessly negate error number passed to bus_error_message() X-Git-Tag: v247-rc1~241 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2a03b9ed21fdbbaef52d9405b46f4967165bef78;p=thirdparty%2Fsystemd.git tree-wide: don't needlessly negate error number passed to bus_error_message() Like it's customary in our codebase bus_error_message() internally takes abs() of the passed error anyway, hence no need to explicitly negate it. We mostly got this right, but in too many cases we didn't. Fix that. --- diff --git a/src/core/service.c b/src/core/service.c index 03493fd04b7..f7b2b1d3978 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -2313,7 +2313,7 @@ static void service_enter_restart(Service *s) { return; fail: - log_unit_warning(UNIT(s), "Failed to schedule restart job: %s", bus_error_message(&error, -r)); + log_unit_warning(UNIT(s), "Failed to schedule restart job: %s", bus_error_message(&error, r)); service_enter_dead(s, SERVICE_FAILURE_RESOURCES, false); } @@ -2329,7 +2329,7 @@ static void service_enter_reload_by_notify(Service *s) { /* service_enter_reload_by_notify is never called during a reload, thus no loops are possible. */ r = manager_propagate_reload(UNIT(s)->manager, UNIT(s), JOB_FAIL, &error); if (r < 0) - log_unit_warning(UNIT(s), "Failed to schedule propagation of reload: %s", bus_error_message(&error, -r)); + log_unit_warning(UNIT(s), "Failed to schedule propagation of reload: %s", bus_error_message(&error, r)); } static void service_enter_reload(Service *s) { diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c index 2d6b2da125e..c6d8b8d0820 100644 --- a/src/hostname/hostnamectl.c +++ b/src/hostname/hostnamectl.c @@ -229,7 +229,7 @@ static int set_simple_string(sd_bus *bus, const char *method, const char *value) &error, NULL, "sb", value, arg_ask_password); if (r < 0) - return log_error_errno(r, "Could not set property: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not set property: %s", bus_error_message(&error, r)); return 0; } diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c index 7eee197665f..050424e66cc 100644 --- a/src/initctl/initctl.c +++ b/src/initctl/initctl.c @@ -115,7 +115,7 @@ static int change_runlevel(Server *s, int runlevel) { NULL, "ss", target, mode); if (r < 0) - return log_error_errno(r, "Failed to change runlevel: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to change runlevel: %s", bus_error_message(&error, r)); return 0; } diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c index e7a93d3a5a9..83de996b252 100644 --- a/src/libsystemd/sd-bus/bus-error.c +++ b/src/libsystemd/sd-bus/bus-error.c @@ -581,10 +581,7 @@ const char *bus_error_message(const sd_bus_error *e, int error) { return e->message; } - if (error < 0) - error = -error; - - return strerror_safe(error); + return strerror_safe(abs(error)); } static bool map_ok(const sd_bus_error_map *map) { diff --git a/src/libsystemd/sd-bus/test-bus-chat.c b/src/libsystemd/sd-bus/test-bus-chat.c index 2c1fbbefc34..7a35d912de8 100644 --- a/src/libsystemd/sd-bus/test-bus-chat.c +++ b/src/libsystemd/sd-bus/test-bus-chat.c @@ -373,7 +373,7 @@ static void* client2(void *p) { r = sd_bus_send(bus, m, NULL); if (r < 0) { - log_error("Failed to issue method call: %s", bus_error_message(&error, -r)); + log_error("Failed to issue method call: %s", bus_error_message(&error, r)); goto finish; } @@ -392,7 +392,7 @@ static void* client2(void *p) { r = sd_bus_send(bus, m, NULL); if (r < 0) { - log_error("Failed to issue signal: %s", bus_error_message(&error, -r)); + log_error("Failed to issue signal: %s", bus_error_message(&error, r)); goto finish; } @@ -412,7 +412,7 @@ static void* client2(void *p) { r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) { - log_error("Failed to issue method call: %s", bus_error_message(&error, -r)); + log_error("Failed to issue method call: %s", bus_error_message(&error, r)); goto finish; } @@ -442,7 +442,7 @@ static void* client2(void *p) { r = sd_bus_call(bus, m, 200 * USEC_PER_MSEC, &error, &reply); if (r < 0) - log_info("Failed to issue method call: %s", bus_error_message(&error, -r)); + log_info("Failed to issue method call: %s", bus_error_message(&error, r)); else log_info("Slow call succeed."); @@ -462,7 +462,7 @@ static void* client2(void *p) { r = sd_bus_call_async(bus, NULL, m, quit_callback, &quit, 200 * USEC_PER_MSEC); if (r < 0) { - log_info("Failed to issue method call: %s", bus_error_message(&error, -r)); + log_info("Failed to issue method call: %s", bus_error_message(&error, r)); goto finish; } diff --git a/src/libsystemd/sd-bus/test-bus-server.c b/src/libsystemd/sd-bus/test-bus-server.c index 82eb35e5b16..1302fdbb5a0 100644 --- a/src/libsystemd/sd-bus/test-bus-server.c +++ b/src/libsystemd/sd-bus/test-bus-server.c @@ -129,7 +129,7 @@ static int client(struct context *c) { r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) - return log_error_errno(r, "Failed to issue method call: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to issue method call: %s", bus_error_message(&error, r)); return 0; } diff --git a/src/locale/localectl.c b/src/locale/localectl.c index e0664de826b..4895c292e4a 100644 --- a/src/locale/localectl.c +++ b/src/locale/localectl.c @@ -178,7 +178,7 @@ static int set_locale(int argc, char **argv, void *userdata) { r = sd_bus_call(bus, m, 0, &error, NULL); if (r < 0) - return log_error_errno(r, "Failed to issue method call: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to issue method call: %s", bus_error_message(&error, r)); return 0; } @@ -218,7 +218,7 @@ static int set_vconsole_keymap(int argc, char **argv, void *userdata) { NULL, "ssbb", map, toggle_map, arg_convert, arg_ask_password); if (r < 0) - return log_error_errno(r, "Failed to set keymap: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to set keymap: %s", bus_error_message(&error, r)); return 0; } @@ -260,7 +260,7 @@ static int set_x11_keymap(int argc, char **argv, void *userdata) { "ssssbb", layout, model, variant, options, arg_convert, arg_ask_password); if (r < 0) - return log_error_errno(r, "Failed to set keymap: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to set keymap: %s", bus_error_message(&error, r)); return 0; } diff --git a/src/login/loginctl.c b/src/login/loginctl.c index 044b41b82d5..bc4f25f41e8 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -1022,7 +1022,7 @@ static int kill_session(int argc, char *argv[], void *userdata) { &error, NULL, "ssi", argv[i], arg_kill_who, arg_signal); if (r < 0) - return log_error_errno(r, "Could not kill session: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not kill session: %s", bus_error_message(&error, r)); } return 0; @@ -1071,7 +1071,7 @@ static int enable_linger(int argc, char *argv[], void *userdata) { &error, NULL, "ubb", (uint32_t) uid, b, true); if (r < 0) - return log_error_errno(r, "Could not enable linger: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not enable linger: %s", bus_error_message(&error, r)); } return 0; @@ -1096,7 +1096,7 @@ static int terminate_user(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_login_mgr, "TerminateUser", &error, NULL, "u", (uint32_t) uid); if (r < 0) - return log_error_errno(r, "Could not terminate user: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not terminate user: %s", bus_error_message(&error, r)); } return 0; @@ -1129,7 +1129,7 @@ static int kill_user(int argc, char *argv[], void *userdata) { &error, NULL, "ui", (uint32_t) uid, arg_signal); if (r < 0) - return log_error_errno(r, "Could not kill user: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not kill user: %s", bus_error_message(&error, r)); } return 0; @@ -1154,7 +1154,7 @@ static int attach(int argc, char *argv[], void *userdata) { &error, NULL, "ssb", argv[1], argv[i], true); if (r < 0) - return log_error_errno(r, "Could not attach device: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not attach device: %s", bus_error_message(&error, r)); } return 0; @@ -1172,7 +1172,7 @@ static int flush_devices(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_login_mgr, "FlushDevices", &error, NULL, "b", true); if (r < 0) - return log_error_errno(r, "Could not flush devices: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not flush devices: %s", bus_error_message(&error, r)); return 0; } @@ -1194,7 +1194,7 @@ static int lock_sessions(int argc, char *argv[], void *userdata) { &error, NULL, NULL); if (r < 0) - return log_error_errno(r, "Could not lock sessions: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not lock sessions: %s", bus_error_message(&error, r)); return 0; } @@ -1213,7 +1213,7 @@ static int terminate_seat(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_login_mgr, "TerminateSeat", &error, NULL, "s", argv[i]); if (r < 0) - return log_error_errno(r, "Could not terminate seat: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not terminate seat: %s", bus_error_message(&error, r)); } return 0; diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index 9cdce716521..41070dcda58 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -720,7 +720,7 @@ static int show_machine(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_machine_mgr, "GetMachine", &error, &reply, "s", argv[i]); if (r < 0) - return log_error_errno(r, "Could not get path to machine: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not get path to machine: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "o", &path); if (r < 0) @@ -1037,7 +1037,7 @@ static int show_image(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_machine_mgr, "GetImage", &error, &reply, "s", argv[i]); if (r < 0) - return log_error_errno(r, "Could not get path to image: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not get path to image: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "o", &path); if (r < 0) @@ -1073,7 +1073,7 @@ static int kill_machine(int argc, char *argv[], void *userdata) { NULL, "ssi", argv[i], arg_kill_who, arg_signal); if (r < 0) - return log_error_errno(r, "Could not kill machine: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not kill machine: %s", bus_error_message(&error, r)); } return 0; @@ -1105,7 +1105,7 @@ static int terminate_machine(int argc, char *argv[], void *userdata) { for (int i = 1; i < argc; i++) { r = bus_call_method(bus, bus_machine_mgr, "TerminateMachine", &error, NULL, "s", argv[i]); if (r < 0) - return log_error_errno(r, "Could not terminate machine: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not terminate machine: %s", bus_error_message(&error, r)); } return 0; @@ -1184,7 +1184,7 @@ static int bind_mount(int argc, char *argv[], void *userdata) { arg_read_only, arg_mkdir); if (r < 0) - return log_error_errno(r, "Failed to bind mount: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to bind mount: %s", bus_error_message(&error, r)); return 0; } @@ -1347,7 +1347,7 @@ static int login_machine(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_machine_mgr, "OpenMachineLogin", &error, &reply, "s", machine); if (r < 0) - return log_error_errno(r, "Failed to get login PTY: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to get login PTY: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "hs", &master, NULL); if (r < 0) @@ -1430,7 +1430,7 @@ static int shell_machine(int argc, char *argv[], void *userdata) { r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) - return log_error_errno(r, "Failed to get shell PTY: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to get shell PTY: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "hs", &master, NULL); if (r < 0) @@ -1485,7 +1485,7 @@ static int rename_image(int argc, char *argv[], void *userdata) { NULL, "ss", argv[1], argv[2]); if (r < 0) - return log_error_errno(r, "Could not rename image: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not rename image: %s", bus_error_message(&error, r)); return 0; } @@ -1535,7 +1535,7 @@ static int read_only_image(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_machine_mgr, "MarkImageReadOnly", &error, NULL, "sb", argv[1], b); if (r < 0) - return log_error_errno(r, "Could not mark image read-only: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not mark image read-only: %s", bus_error_message(&error, r)); return 0; } @@ -1552,7 +1552,7 @@ static int image_exists(sd_bus *bus, const char *name) { if (sd_bus_error_has_name(&error, BUS_ERROR_NO_SUCH_IMAGE)) return 0; - return log_error_errno(r, "Failed to check whether image %s exists: %s", name, bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to check whether image %s exists: %s", name, bus_error_message(&error, r)); } return 1; @@ -1617,7 +1617,7 @@ static int start_machine(int argc, char *argv[], void *userdata) { &reply, "ss", unit, "fail"); if (r < 0) - return log_error_errno(r, "Failed to start unit: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to start unit: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "o", &object); if (r < 0) @@ -1697,7 +1697,7 @@ static int enable_machine(int argc, char *argv[], void *userdata) { r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) - return log_error_errno(r, "Failed to enable or disable unit: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to enable or disable unit: %s", bus_error_message(&error, r)); if (streq(argv[0], "enable")) { r = sd_bus_message_read(reply, "b", NULL); @@ -1719,7 +1719,7 @@ static int enable_machine(int argc, char *argv[], void *userdata) { NULL, NULL); if (r < 0) { - log_error("Failed to reload daemon: %s", bus_error_message(&error, -r)); + log_error("Failed to reload daemon: %s", bus_error_message(&error, r)); goto finish; } @@ -1831,7 +1831,7 @@ static int transfer_image_common(sd_bus *bus, sd_bus_message *m) { r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) - return log_error_errno(r, "Failed to transfer image: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to transfer image: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "uo", &id, &path); if (r < 0) @@ -2272,7 +2272,7 @@ static int list_transfers(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_import_mgr, "ListTransfers", &error, &reply, NULL); if (r < 0) - return log_error_errno(r, "Could not get transfers: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not get transfers: %s", bus_error_message(&error, r)); r = sd_bus_message_enter_container(reply, 'a', "(usssdo)"); if (r < 0) @@ -2369,7 +2369,7 @@ static int cancel_transfer(int argc, char *argv[], void *userdata) { r = bus_call_method(bus, bus_import_mgr, "CancelTransfer", &error, NULL, "u", id); if (r < 0) - return log_error_errno(r, "Could not cancel transfer: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Could not cancel transfer: %s", bus_error_message(&error, r)); } return 0; diff --git a/src/run/run.c b/src/run/run.c index d4ce3966e76..38446d8814d 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -1146,7 +1146,7 @@ static int start_transient_service( &pty_reply, "s", arg_host); if (r < 0) - return log_error_errno(r, "Failed to get machine PTY: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to get machine PTY: %s", bus_error_message(&error, r)); r = sd_bus_message_read(pty_reply, "hs", &master, &s); if (r < 0) @@ -1468,7 +1468,7 @@ static int start_transient_scope(sd_bus *bus) { r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) - return log_error_errno(r, "Failed to start transient scope unit: %s", bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to start transient scope unit: %s", bus_error_message(&error, r)); r = sd_bus_message_read(reply, "o", &object); if (r < 0) @@ -1688,7 +1688,7 @@ static int start_transient_trigger( r = sd_bus_call(bus, m, 0, &error, &reply); if (r < 0) - return log_error_errno(r, "Failed to start transient %s unit: %s", suffix + 1, bus_error_message(&error, -r)); + return log_error_errno(r, "Failed to start transient %s unit: %s", suffix + 1, bus_error_message(&error, r)); r = sd_bus_message_read(reply, "o", &object); if (r < 0)