[PATCH master 09/39] efi: loader: fix missing field init in deferred protocol add
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Feb 16 00:44:09 PST 2026
efi_add_root_node_protocol_deferred() allocates a deferred context
but never stores the protocol and interface pointers in it. When
the deferred callback fires, it calls efi_add_protocol with zero
protocol GUID and NULL interface.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
efi/loader/setup.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/efi/loader/setup.c b/efi/loader/setup.c
index a24d3044afdc..e27929aaeae9 100644
--- a/efi/loader/setup.c
+++ b/efi/loader/setup.c
@@ -117,6 +117,8 @@ void efi_add_root_node_protocol_deferred(const efi_guid_t *protocol, const void
deferred->base.cb = add_protocol;
deferred->base.data = &deferred->ctx;
+ deferred->ctx.protocol = protocol;
+ deferred->ctx.interface = interface;
list_add_tail(&deferred->base.list, &efi_deferred_cbs);
}
--
2.47.3
More information about the barebox
mailing list