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


Reply via email to