[PATCH master 4/4] efi: loader: select PRINTF_WCHAR

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


The loader prints UEFI strings with %ls in a good two dozen places: the
variable name in the error path of efi_var_restore(), the EFI_ENTRY()
traces of the variable, console, HII and unicode collation protocols and
the exit data of a failed EFI payload.

%ls only formats UTF-16 when PRINTF_WCHAR is enabled; otherwise vsprintf
falls back to treating the argument as a C string, which for a UTF-16
string ends at the high byte of its first character:

  efi-loader: var-file: Failed to set EFI variable V

instead of "Var0430". EFI_PAYLOAD already selects the symbol, do the same
for EFI_LOADER.

Assisted-by: Claude:opus-5
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 efi/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/efi/Kconfig b/efi/Kconfig
index b8f118a8812f..920705633cc7 100644
--- a/efi/Kconfig
+++ b/efi/Kconfig
@@ -38,6 +38,7 @@ config EFI_LOADER
 	select PARTITION_DISK
 	select MEMORY_ATTRIBUTES
 	select CRC32
+	select PRINTF_WCHAR
 	help
 	  Select this option if you want to run UEFI applications (like GNU
 	  GRUB or an EFI-stubbed kernel) on top of barebox.
-- 
2.47.3




More information about the barebox mailing list