mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-efi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>,
	 Vincent Mailhol <mailhol@kernel.org>,
	x86@kernel.org
Subject: [PATCH v2 01/10] x86/boot: Drop pointless re-implementation of panic()
Date: Wed,  9 Sep 2026 13:55:32 +0200	[thread overview]
Message-ID: <20260909115530.1924665-13-ardb+git@google.com> (raw)
In-Reply-To: <20260909115530.1924665-12-ardb+git@google.com>

From: Ard Biesheuvel <ardb@kernel.org>

The decompressor has its own implementation of panic(), which is based
on the vsnprintf() routine provided by the EFI stub.

Relying on the EFI stub from code that does not execute in the context
of the EFI boot services is a bad idea. It is also completely pointless
in this case, given that the only user of this version of panic() only
passes a compile time constant string, without any printf conversions.

So use error() instead of panic() in that case, and drop the panic()
implementation entirely. This is needed so that the EFI stub's
vsnprintf() can be modified in a manner that is incompatible with the
expectations of this caller.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/boot/compressed/error.c | 19 -------------------
 arch/x86/boot/compressed/error.h |  1 -
 arch/x86/boot/compressed/mem.c   |  2 +-
 3 files changed, 1 insertion(+), 21 deletions(-)

diff --git a/arch/x86/boot/compressed/error.c b/arch/x86/boot/compressed/error.c
index 19a8251de506..ce5ed7d8265e 100644
--- a/arch/x86/boot/compressed/error.c
+++ b/arch/x86/boot/compressed/error.c
@@ -22,22 +22,3 @@ void error(char *m)
 	while (1)
 		asm("hlt");
 }
-
-/* EFI libstub  provides vsnprintf() */
-#ifdef CONFIG_EFI_STUB
-void panic(const char *fmt, ...)
-{
-	static char buf[1024];
-	va_list args;
-	int len;
-
-	va_start(args, fmt);
-	len = vsnprintf(buf, sizeof(buf), fmt, args);
-	va_end(args);
-
-	if (len && buf[len - 1] == '\n')
-		buf[len - 1] = '\0';
-
-	error(buf);
-}
-#endif
diff --git a/arch/x86/boot/compressed/error.h b/arch/x86/boot/compressed/error.h
index 31f9e080d61a..87062dea9a20 100644
--- a/arch/x86/boot/compressed/error.h
+++ b/arch/x86/boot/compressed/error.h
@@ -6,6 +6,5 @@
 
 void warn(const char *m);
 void error(char *m) __noreturn;
-void panic(const char *fmt, ...) __noreturn __cold;
 
 #endif /* BOOT_COMPRESSED_ERROR_H */
diff --git a/arch/x86/boot/compressed/mem.c b/arch/x86/boot/compressed/mem.c
index 0e9f84ab4bdc..e1c017b55184 100644
--- a/arch/x86/boot/compressed/mem.c
+++ b/arch/x86/boot/compressed/mem.c
@@ -37,7 +37,7 @@ void arch_accept_memory(phys_addr_t start, phys_addr_t end)
 	/* Platform-specific memory-acceptance call goes here */
 	if (early_is_tdx_guest()) {
 		if (!tdx_accept_memory(start, end))
-			panic("TDX: Failed to accept memory\n");
+			error("TDX: Failed to accept memory\n");
 	} else if (early_is_sevsnp_guest()) {
 		snp_accept_memory(start, end);
 	} else {
-- 
2.55.0.1003.g10538fe699-goog


  reply	other threads:[~2026-09-09 11:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09 11:55 [PATCH v2 00/10] efi/libstub: Avoid UTF-16 conversion busywork Ard Biesheuvel
2026-09-09 11:55 ` Ard Biesheuvel [this message]
2026-09-09 19:14   ` [PATCH v2 01/10] x86/boot: Drop pointless re-implementation of panic() Borislav Petkov
2026-09-09 20:43     ` Ard Biesheuvel
2026-09-10 13:12       ` Kiryl Shutsemau
2026-09-11  7:32         ` Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 02/10] lib/ucs2_string: Drop arbitrary input size limit and associated WARN() Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 03/10] lib/ucs2_string: Suppress modinfo when __DISABLE_EXPORTS is set Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 04/10] lib/ucs2_string: Split out ucs2_as_utf8_l() taking a separate limit Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 05/10] efi/libstub: Use ucs2_string library for UTF-16 to UTF-8 conversion Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 06/10] efi/libstub: Avoid efi_puts() for compile time constant strings Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 07/10] efi/libstub: Output UTF-16 directly from vsnprintf() Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 08/10] efi/libstub: Add support for printing human readable GUIDs Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 09/10] efi/libstub: Add efi_snprintf() to construct wide strings Ard Biesheuvel
2026-09-09 11:55 ` [PATCH v2 10/10] efi/libstub: add initial Boot Loader Interface support Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260909115530.1924665-13-ardb+git@google.com \
    --to=ardb+git@google.com \
    --cc=ardb@kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®