From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 26 Aug 2026 11:38:12 +0200 Received: from mx1.white.stw.pengutronix.de ([185.203.200.13]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wzA5E-007O2A-0X for lore@lore.pengutronix.de; Wed, 26 Aug 2026 11:38:12 +0200 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by mx1.white.stw.pengutronix.de (Postfix) with ESMTPS id C1622200FEE for ; Wed, 26 Aug 2026 11:38:12 +0200 (CEST) Authentication-Results: mx1.white.stw.pengutronix.de; dkim=pass header.d=lists.infradead.org header.s=bombadil.20210309 header.b=cl8rhKke; dmarc=none; spf=pass (mx1.white.stw.pengutronix.de: domain of "barebox-bounces+lore=pengutronix.de@lists.infradead.org" designates 2607:7c80:54:3::133 as permitted sender) smtp.mailfrom="barebox-bounces+lore=pengutronix.de@lists.infradead.org" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=k28NsYq9QoS+v/B6f7lD/+hgpGXtRIf2+m5Q95ruoNI=; b=cl8rhKkeJSNTx8R8F3oKwSrM5E VwcO5huAOxr+T7OguRq3qg/mVTFLnLyHgKaHSWYqybmtmIWvAaF3SkQnkm6nfLM+fKkGZb1GuihDG agYAfI9yjxc4B91o3A1ZKq8JaEWc4tVubxm69HVkOiXr/d4F65UsSABbZtDtigkmirp/LOdx0lmJa 70JA1HpZMuihxsVm78retgl/HpAx4JqPIJI4rpQ+vbVohIxpF+NG1+cjyiLyEpdDceP0R5o0wUqyw 6L23FFQM7FkCiLoS2jjxns60BarOMYI4f/yerDczpiu/MwZKMIp5ga+QUgcqucLaKyatsjEAEH0NO 6DvITWgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzA4C-00000002DCh-0UWY; Wed, 26 Aug 2026 09:37:08 +0000 Received: from mx1.white.stw.pengutronix.de ([2a0a:edc0:0:b01:1d::107]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzA48-00000002DBL-3qgc for barebox@lists.infradead.org; Wed, 26 Aug 2026 09:37:06 +0000 Received: from drehscheibe.grey.stw.pengutronix.de (drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2]) (Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de) by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id 1EF7E200FEE; Wed, 26 Aug 2026 11:37:03 +0200 (CEST) Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wzA47-003Pz9-03; Wed, 26 Aug 2026 11:37:03 +0200 Received: from [::1] (helo=dude05.red.stw.pengutronix.de) by dude05.red.stw.pengutronix.de with esmtp (Exim 4.98.2) (envelope-from ) id 1wzA46-0000000ARid-3p4H; Wed, 26 Aug 2026 11:37:02 +0200 From: Ahmad Fatoum To: barebox@lists.infradead.org Cc: Ahmad Fatoum Subject: [PATCH master 4/4] efi: loader: select PRINTF_WCHAR Date: Wed, 26 Aug 2026 11:36:51 +0200 Message-ID: <20260826093701.2486248-4-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260826093701.2486248-1-a.fatoum@pengutronix.de> References: <20260826093701.2486248-1-a.fatoum@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260826_023705_106848_C7338535 X-CRM114-Status: UNSURE ( 8.15 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 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 [...] Content analysis details: (-1.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.0 DMARC_MISSING Missing DMARC policy X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "barebox" X-Spamd-Result: default: False [-56.21 / 15.00]; RECEIVED_AUTHENTICATED_BY_MX1(-50.00)[]; BAYES_HAM(-3.00)[99.99%]; DWL_DNSWL_MED(-2.00)[infradead.org:dkim]; MID_CONTAINS_FROM(1.00)[]; KNOWN_LIST_ID(-1.00)[barebox.lists.infradead.org]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; R_MISSING_CHARSET(0.50)[]; RCVD_IN_DNSWL_MED(-0.40)[2a0a:edc0:0:1101:1d::54:received,2607:7c80:54:3::133:from]; MAILLIST(-0.20)[mailman]; R_SPF_ALLOW(-0.20)[+mx:c]; R_DKIM_ALLOW(-0.20)[lists.infradead.org:s=bombadil.20210309]; RCVD_IN_DNSWL_LOW(-0.10)[2a0a:edc0:0:c01:1d::a2:received]; MIME_GOOD(-0.10)[text/plain]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_TWO(0.00)[2]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; RECEIVED_HELO_LOCALHOST(0.00)[]; DMARC_NA(0.00)[pengutronix.de]; DKIM_TRACE(0.00)[lists.infradead.org:+]; TAGGED_FROM(0.00)[lore=pengutronix.de]; FROM_NEQ_ENVFROM(0.00)[a.fatoum@pengutronix.de,barebox-bounces@lists.infradead.org]; FROM_HAS_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM(-0.00)[-1.000]; ASN(0.00)[asn:7247, ipnet:2607:7c80:54::/48, country:US]; FORGED_SENDER_MAILLIST(0.00)[] X-Rspamd-Action: no action X-Rspamd-Server: mx1 X-Stat-Signature: t51ki5gra3j8y3jxdo5qdb5ofen4mid6 X-Rspamd-Queue-Id: C1622200FEE 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 --- 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