Silence false positive "HWID match failed, no DT blob" error (rhbz#2444759)

This commit is contained in:
Hans de Goede 2026-03-05 14:33:49 +01:00
commit 154edb7cdb
2 changed files with 43 additions and 0 deletions

38
40957.patch Normal file
View file

@ -0,0 +1,38 @@
From 6941d340092d30db4018803283cfb899c6f92c14 Mon Sep 17 00:00:00 2001
From: Hans de Goede <johannes.goede@oss.qualcomm.com>
Date: Thu, 5 Mar 2026 14:20:06 +0100
Subject: [PATCH] boot: Make missing CHID DTB match a debug message instead of
an error
With distributions like Ubuntu and Fedora using systemd-stub to auto load
DTB's on Windows on ARM laptops, the CHID DTB match failing is expected
when that same UKI is instead booted on an ARM SystemReady system where
no DTB is necessary.
In the ARM SystemReady case showing a big red error message is undesirable
and leads to confused users and bug-reports. Lower the message to debug
level when the status is EFI_NOT_FOUND to avoid these false positive error
messages.
Link: https://bugzilla.redhat.com/show_bug.cgi?id=2444759
---
src/boot/pe.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/boot/pe.c b/src/boot/pe.c
index 397a7a6940..255e8539de 100644
--- a/src/boot/pe.c
+++ b/src/boot/pe.c
@@ -396,7 +396,8 @@ static void pe_locate_sections(
EFI_STATUS err = chid_match(hwids, hwids_section[0].memory_size, DEVICE_TYPE_DEVICETREE, &device);
if (err != EFI_SUCCESS) {
- log_error_status(err, "HWID matching failed, no DT blob will be selected: %m");
+ log_full(err, (err == EFI_NOT_FOUND) ? LOG_DEBUG : LOG_ERR,
+ "HWID matching failed, no DT blob will be selected: %m");
hwids = NULL;
}
}
--
2.52.0

View file

@ -152,6 +152,11 @@ Patch: 38769.patch
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2415701
Patch: 0002-machined-continue-without-resolve.hook-socket.patch
# Silence false positive "HWID match failed, no DT blob" error
# https://bugzilla.redhat.com/show_bug.cgi?id=2444759
# https://github.com/systemd/systemd/pull/40957
Patch: 40957.patch
%endif
%ifarch %{ix86} x86_64 aarch64 riscv64