From 587c522487664a1b3b42765c61b38aaf43e812f4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 23 Apr 2026 21:43:19 +0200 Subject: [PATCH] various: fix duplicated logging from parse_path_argument As pointed out in review, parse_path_argument can fail for non-oom reasons. But the function already logs, so the correct thing to do is to just propagate the error. --- src/bootctl/bootctl-install.c | 2 +- src/home/homectl.c | 6 +++--- src/kernel-install/kernel-install.c | 4 ++-- src/keyutil/keyutil.c | 4 ++-- src/measure/measure-tool.c | 2 +- src/sbsign/sbsign.c | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/bootctl/bootctl-install.c b/src/bootctl/bootctl-install.c index 20958d0b0bc..2ad76264fa3 100644 --- a/src/bootctl/bootctl-install.c +++ b/src/bootctl/bootctl-install.c @@ -1509,7 +1509,7 @@ static int load_secure_boot_auto_enroll( if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( diff --git a/src/home/homectl.c b/src/home/homectl.c index 80ee6e2155a..e9161dfb751 100644 --- a/src/home/homectl.c +++ b/src/home/homectl.c @@ -4648,7 +4648,7 @@ static int parse_argv(int argc, char *argv[]) { if (!eq) { /* --blob=/some/path replaces the blob dir */ r = parse_path_argument(optarg, /* suppress_root= */ false, &arg_blob_dir); if (r < 0) - return log_error_errno(r, "Failed to parse path %s: %m", optarg); + return r; break; } @@ -4664,7 +4664,7 @@ static int parse_argv(int argc, char *argv[]) { r = parse_path_argument(eq + 1, /* suppress_root= */ false, &path); if (r < 0) - return log_error_errno(r, "Failed to parse path %s: %m", eq + 1); + return r; } else { const char *well_known_filename = c == ARG_AVATAR ? "avatar" : @@ -4678,7 +4678,7 @@ static int parse_argv(int argc, char *argv[]) { r = parse_path_argument(optarg, /* suppress_root= */ false, &path); if (r < 0) - return log_error_errno(r, "Failed to parse path %s: %m", optarg); + return r; } if (path) { diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c index 0bd4e84da0a..27e1a7426e4 100644 --- a/src/kernel-install/kernel-install.c +++ b/src/kernel-install/kernel-install.c @@ -1604,13 +1604,13 @@ static int parse_argv(int argc, char *argv[], char ***remaining_args) { OPTION_LONG("esp-path", "PATH", "Path to the EFI System Partition (ESP)"): r = parse_path_argument(opts.arg, /* suppress_root= */ false, &arg_esp_path); if (r < 0) - return log_oom(); + return r; break; OPTION_LONG("boot-path", "PATH", "Path to the $BOOT partition"): r = parse_path_argument(opts.arg, /* suppress_root= */ false, &arg_xbootldr_path); if (r < 0) - return log_oom(); + return r; break; OPTION_COMMON_MAKE_ENTRY_DIRECTORY: diff --git a/src/keyutil/keyutil.c b/src/keyutil/keyutil.c index 2a66fabb195..abdec1591d0 100644 --- a/src/keyutil/keyutil.c +++ b/src/keyutil/keyutil.c @@ -193,7 +193,7 @@ static int verb_validate(int argc, char *argv[], uintptr_t _data, void *userdata if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( @@ -259,7 +259,7 @@ static int verb_extract_public(int argc, char *argv[], uintptr_t _data, void *us if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( diff --git a/src/measure/measure-tool.c b/src/measure/measure-tool.c index eeb001f3fed..d5bb5bea235 100644 --- a/src/measure/measure-tool.c +++ b/src/measure/measure-tool.c @@ -960,7 +960,7 @@ static int build_policy_digest(bool sign) { if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( diff --git a/src/sbsign/sbsign.c b/src/sbsign/sbsign.c index f5a88b2849f..9d163624a49 100644 --- a/src/sbsign/sbsign.c +++ b/src/sbsign/sbsign.c @@ -461,7 +461,7 @@ static int verb_sign(int argc, char *argv[], uintptr_t _data, void *userdata) { if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( -- 2.47.3