From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 26 Aug 2026 11:38:15 +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 1wzA5G-007O2W-0r for lore@lore.pengutronix.de; Wed, 26 Aug 2026 11:38:15 +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 D94D6200FEE for ; Wed, 26 Aug 2026 11:38:14 +0200 (CEST) Authentication-Results: mx1.white.stw.pengutronix.de; dkim=pass header.d=lists.infradead.org header.s=bombadil.20210309 header.b="q3/4K5Ll"; 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=KQGzUFN8YWM8pLbDLlh7jTycFvvv4+H755OhCNKbMz8=; b=q3/4K5LlHuZ0PDB9rgQ/CHN83J lIAUItq21JPNTGEpNMLMtyxQOVIVWeBPRJWCQrtoerpTVtM0YfclAPnTW94oixWN8UGgwnUSKsP+U p08KNUUTBZ/f57JML0UKc9zrw5Dhs6PgsmSjnl+VkXtImfzWl6Lw3iAsTJEB25uZ86xHJzYtMxkgu +FOLXe1OXHZM7PsBfMSxpM9ZfCLMVOXRcreEWttUG8l7Ev/BxGRBpFygW8GfA73NMv0T4Nuv7IUSl ngIECshzIHVyDrqCitWsFLWTak9DNNWvPFtG1/yFk47Eqrkk1GFXFK8bg+BqK/l6KoRVE5/CkwKsG ZWQZiGDw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzA4D-00000002DDA-1TW5; Wed, 26 Aug 2026 09:37:09 +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-00000002DBN-3qo4 for barebox@lists.infradead.org; Wed, 26 Aug 2026 09:37:07 +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 070D320205C; 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 1wzA46-003Pz3-2y; Wed, 26 Aug 2026 11:37:02 +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-3PhF; Wed, 26 Aug 2026 11:37:02 +0200 From: Ahmad Fatoum To: barebox@lists.infradead.org Cc: Ahmad Fatoum Subject: [PATCH master 2/4] efi: loader: fix sign of the error passed to ERR_PTR() Date: Wed, 26 Aug 2026 11:36:49 +0200 Message-ID: <20260826093701.2486248-2-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_111648_2B52F405 X-CRM114-Status: GOOD ( 11.74 ) 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: 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 I [...] 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)[2607:7c80:54:3::133:from,2a0a:edc0:0:1101:1d::54:received]; 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: 1a1z91qbd4api4s1omzeezp8bwurcrr4 X-Rspamd-Queue-Id: D94D6200FEE 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 --- 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