The return values of efi_set_variable_int() are efi_status_t, i.e. 64-bit on 64-bit targets with the error bit in the topmost bit. Collecting them in an int drops that bit, so the value returned to efi_init_runtime_supported() is a small positive number that no longer identifies an EFI error: EFI_OUT_OF_RESOURCES arrives as 9.
Callers only compared against EFI_SUCCESS so far, which happens to still work, but the status is worth printing and the next commit does so. Assisted-by: Claude:opus-5 Signed-off-by: Ahmad Fatoum <[email protected]> --- efi/loader/efi_var_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efi/loader/efi_var_file.c b/efi/loader/efi_var_file.c index 12543bce2851..fbafd901bd0c 100644 --- a/efi/loader/efi_var_file.c +++ b/efi/loader/efi_var_file.c @@ -191,8 +191,8 @@ efi_status_t efi_var_from_file(int dirfd, const char *filename) efi_status_t efi_init_runtime_variable_supported(void) { + efi_status_t ret; u8 s = 0; - int ret; if (!IS_ENABLED(CONFIG_EFI_RT_VOLATILE_STORE)) return EFI_SUCCESS; -- 2.47.3
