[PATCH master 2/4] efi: loader: fix sign of the error passed to ERR_PTR()

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Aug 26 02:36:49 PDT 2026


efi_var_to_file() reports the reason it could not write the variable file
with %pe, but the one error it synthesizes itself is stored with the
wrong sign. ERR_PTR(ENOMEM) is not an error pointer, so IS_ERR() is false
and %pe prints the bogus pointer 0xc instead of "No memory".

The three other assignments to err already store negative errnos.

Assisted-by: Claude:opus-5
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 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 fbafd901bd0c..e4d350002ee8 100644
--- a/efi/loader/efi_var_file.c
+++ b/efi/loader/efi_var_file.c
@@ -52,7 +52,7 @@ efi_status_t efi_var_to_file(void)
 
 	efiret = efi_var_collect(&buf, &len, EFI_VARIABLE_NON_VOLATILE);
 	if (efiret != EFI_SUCCESS) {
-		err = ENOMEM;
+		err = -ENOMEM;
 		goto error;
 	}
 
-- 
2.47.3




More information about the barebox mailing list