Linux 7.3 Better Protects Against Buggy EFI Firmware Taking Down The Rest Of User-Space

Written by Michael Larabel in Linux Kernel on 23 August 2026 at 03:05 PM EDT. 6 Comments
LINUX KERNEL
The EFI updates were merged today for the in-development Linux 7.3 kernel. Most notable with the EFI updates is now enforcing a timeout foe EFI runtime service completions rather than potentially hanging indefinitely.

A change made to the Linux 7.3 kernel will now set a timeout for EFI runtime service completions rather than potentially hanging indefinitely. If the timeout is exceeded, the firmware will declare wedged. This helps deal with buggy EFI/firmware on some platforms where it could ultimately end up taking down the rest of the user-space.

Breno Leitao, Debian developer and kernel engineer at Meta, worked through the patches to provide a timeout on EFI runtime service calls. This came up after hitting the issue on a NVIDIA Grace server. Leitao explained the situation with the patch series cover letter:
"When an EFI runtime service call hangs in firmware, the kworker on efi_rts_wq is stuck inside the firmware call and cannot be cancelled. The kernel currently waits indefinitely on the completion, and the caller holds efi_runtime_lock for the duration, so every subsequent EFI runtime caller (efivarfs, NVRAM writes, set_wakeup_time, ACPI PRM handlers, ...) is wedged until reboot. The only externally visible symptom is a "workqueue lockup" message and userspace processes piling up uninterruptibly on the semaphore.
...
PC and LR are inside EFI runtime services firmware memory; firmware never returned; the worker stayed stuck across the 127s / 157s / 188s "workqueue lockup" reports until external monitoring eventually rebooted the host.

This series doesn't fix the firmware bug - that's vendor territory - but it stops one stuck EFI call from taking the rest of userspace down with it, and turns a generic stalled-task mystery into an unambiguous "EFI firmware is at fault" signal in dmesg, which is especially valuable at fleet scale where the same symptom could otherwise be attributed to dozens of unrelated stalls."

The timeout threshold being set is 120 seconds as longer than "any plausible legitimate call" into the EFI runtime services.

This new safeguard landed via the EFI feature merge into Linux 7.3.
Related News
About The Author

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week