Skip to content

Remove the Dhcp6Dxe driver veto#1665

Merged
mcb30 merged 2 commits intoipxe:masterfrom
mcb30:efiunloadtpl
Apr 6, 2026
Merged

Remove the Dhcp6Dxe driver veto#1665
mcb30 merged 2 commits intoipxe:masterfrom
mcb30:efiunloadtpl

Conversation

@mcb30
Copy link
Copy Markdown
Member

@mcb30 mcb30 commented Apr 6, 2026

As of commit c3376f8 ("[efi] Drop to external TPL for calls to ConnectController()"), the veto mechanism will drop to TPL_APPLICATION for calls to DisconnectController().

Match this behaviour for calls to UnloadImage(), since that is likely to result in calls to DisconnectController(). For example, any EDK2 driver using NetLibDefaultUnload() as its unload handler will call DisconnectController() to disconnect itself from all handles.

Commit cb95b5b ("[efi] Veto the Dhcp6Dxe driver on all platforms") vetoed the Dhcp6Dxe driver to work around the bug described at tianocore/edk2#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.

Fixes: #1358

mcb30 added 2 commits April 6, 2026 22:17
As of commit c3376f8 ("[efi] Drop to external TPL for calls to
ConnectController()"), the veto mechanism will drop to TPL_APPLICATION
for calls to DisconnectController().

Match this behaviour for calls to UnloadImage(), since that is likely
to result in calls to DisconnectController().  For example, any EDK2
driver using NetLibDefaultUnload() as its unload handler will call
DisconnectController() to disconnect itself from all handles.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
Commit cb95b5b ("[efi] Veto the Dhcp6Dxe driver on all platforms")
vetoed the Dhcp6Dxe driver to work around the bug described at
tianocore/edk2#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 <mcb30@ipxe.org>
@mcb30 mcb30 merged commit 5e06c86 into ipxe:master Apr 6, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Older Lenovo laptops hanging after autoexec.ipxe due to Dhcp6 Veto

1 participant