From 154edb7cdb379277af8c51ea2feb76e99bbe7cdd Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 5 Mar 2026 14:33:49 +0100 Subject: [PATCH] Silence false positive "HWID match failed, no DT blob" error (rhbz#2444759) --- 40957.patch | 38 ++++++++++++++++++++++++++++++++++++++ systemd.spec | 5 +++++ 2 files changed, 43 insertions(+) create mode 100644 40957.patch diff --git a/40957.patch b/40957.patch new file mode 100644 index 0000000..7932f99 --- /dev/null +++ b/40957.patch @@ -0,0 +1,38 @@ +From 6941d340092d30db4018803283cfb899c6f92c14 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +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 + diff --git a/systemd.spec b/systemd.spec index ae7f071..c3305e8 100644 --- a/systemd.spec +++ b/systemd.spec @@ -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