From 7e11543c53396ea2e59320127573bf4151fae008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Aceda=C5=84ski?= Date: Wed, 3 Jun 2026 08:17:56 +0200 Subject: [PATCH] xen/efi: Use blexit() instead of BUG_ON() in read_file() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to 880e40b187aa, which added a BUG_ON() guard in read_file(). But as Jan pointed out, before ExitBootServices BUG_ON() is not functional. It results in a hang with no message. On the other hand blexit() prints a message and returns back to the bootloader. Fixes: 880e40b187aa ("xen/efi: Fix boot from a device without a file system") Reported-by: Jan Beulich Signed-off-by: Szymon Acedański Reviewed-by: Jan Beulich Acked-by: Marek Marczykowski-Górecki Release-Acked-by: Oleksii Kurochko --- xen/common/efi/boot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c index 2971ea8696..8f24df9bc2 100644 --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -849,7 +849,8 @@ static bool __init read_file(EFI_FILE_HANDLE dir_handle, CHAR16 *name, if ( !name ) PrintErrMesg(L"No filename", EFI_OUT_OF_RESOURCES); - BUG_ON(!dir_handle); + if ( !dir_handle ) + blexit(L"BUG: !dir_handle in read_file()"); what = L"Open"; ret = dir_handle->Open(dir_handle, &FileHandle, name,