diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index a3b8f43346..1207193b7f 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2798,7 +2798,7 @@ static int boot_loader_entry_exists(const char *id) { assert(id); r = boot_entries_load_config_auto(NULL, NULL, &config); - if (r < 0) + if (r < 0 && r != -ENOKEY) /* don't complain if no GPT is found, hence skip ENOKEY */ return r; (void) boot_entries_augment_from_loader(&config, true); @@ -2953,7 +2953,7 @@ static int property_get_boot_loader_entries( assert(userdata); r = boot_entries_load_config_auto(NULL, NULL, &config); - if (r < 0) + if (r < 0 && r != -ENOKEY) /* don't complain if there's no GPT found */ return r; (void) boot_entries_augment_from_loader(&config, true); diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index f2b919b6bb..59930464bc 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -712,9 +712,7 @@ int boot_entries_load_config_auto( } r = find_esp_and_warn(override_esp_path, false, &esp_where, NULL, NULL, NULL, NULL); - if (r == -ENOKEY) /* find_esp_and_warn() doesn't warn about this case */ - return log_error_errno(r, "Cannot find the ESP partition mount point."); - if (r < 0) /* But it logs about all these cases, hence don't log here again */ + if (r < 0) /* we don't log about ENOKEY here, but propagate it, leaving it to the caller to log */ return r; r = find_xbootldr_and_warn(override_xbootldr_path, false, &xbootldr_where, NULL); diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 7f6196328b..23818a0db1 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3591,6 +3591,8 @@ static int load_kexec_kernel(void) { return log_error_errno(errno, KEXEC" is not available: %m"); r = boot_entries_load_config_auto(NULL, NULL, &config); + if (r == -ENOKEY) /* The call doesn't log about ENOKEY, let's do so here. */ + return log_error_errno(r, "Cannot find the ESP partition mount point."); if (r < 0) return r;