From 5e06c866a0b2e74b823a10c9e92718788950b573 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 6 Apr 2026 22:24:08 +0100 Subject: [PATCH] [efi] Remove the Dhcp6Dxe driver veto Commit cb95b5b ("[efi] Veto the Dhcp6Dxe driver on all platforms") vetoed the Dhcp6Dxe driver to work around the bug described at https://github.com/tianocore/edk2/issues/10506 that results in EfiDhcp6Stop() getting stuck in a tight loop waiting for an event that will never occur. Since we now call UnloadImage() at TPL_APPLICATION, we no longer trigger the bug in Dhcp6Dxe, and so the veto may be removed. Signed-off-by: Michael Brown --- src/interface/efi/efi_veto.c | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/src/interface/efi/efi_veto.c b/src/interface/efi/efi_veto.c index 688eb4fba..5019602d0 100644 --- a/src/interface/efi/efi_veto.c +++ b/src/interface/efi/efi_veto.c @@ -480,30 +480,6 @@ efi_veto_vmware_uefipxebc ( EFI_DRIVER_BINDING_PROTOCOL *binding __unused, return 1; } -/** - * Veto Dhcp6Dxe driver - * - * @v binding Driver binding protocol - * @v loaded Loaded image protocol - * @v manufacturer Manufacturer name, if present - * @v name Driver name, if present - * @ret vetoed Driver is to be vetoed - */ -static int efi_veto_dhcp6 ( EFI_DRIVER_BINDING_PROTOCOL *binding __unused, - EFI_LOADED_IMAGE_PROTOCOL *loaded __unused, - const char *manufacturer __unused, - const CHAR16 *name ) { - static const CHAR16 dhcp6[] = L"DHCP6 Protocol Driver"; - - /* Check driver name */ - if ( ! name ) - return 0; - if ( memcmp ( name, dhcp6, sizeof ( dhcp6 ) ) != 0 ) - return 0; - - return 1; -} - /** Driver vetoes */ static struct efi_veto_candidate efi_vetoes[] = { { @@ -518,10 +494,6 @@ static struct efi_veto_candidate efi_vetoes[] = { .name = "VMware UefiPxeBc", .veto = efi_veto_vmware_uefipxebc, }, - { - .name = "Dhcp6", - .veto = efi_veto_dhcp6, - }, }; /**