{"id":593816,"date":"2026-08-23T20:32:08","date_gmt":"2026-08-23T20:32:08","guid":{"rendered":"https:\/\/www.newsbeep.com\/il\/593816\/"},"modified":"2026-08-23T20:32:08","modified_gmt":"2026-08-23T20:32:08","slug":"linux-7-3-better-protects-against-buggy-efi-firmware-taking-down-the-rest-of-user-space","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/il\/593816\/","title":{"rendered":"Linux 7.3 Better Protects Against Buggy EFI Firmware Taking Down The Rest Of User-Space"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"LINUX KERNEL\" src=\"https:\/\/www.phoronix.com\/assets\/categories\/linuxkernel.webp\" width=\"100\" height=\"100\"\/><br \/>\nThe 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.<\/p>\n<p>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.&#13;<\/p>\n<p>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 <a href=\"https:\/\/lore.kernel.org\/all\/20260616-efi_timeout-v3-0-76dd1d26657b@debian.org\/\" rel=\"nofollow noopener\" target=\"_blank\">patch series<\/a> cover letter:&#13;<\/p>\n<p>&#8220;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, &#8230;) is wedged until reboot. The only externally visible symptom is a &#8220;workqueue lockup&#8221; message and userspace processes piling up uninterruptibly on the semaphore.&#13;<br \/>&#8230;&#13;<br \/>PC and LR are inside EFI runtime services firmware memory; firmware never returned; the worker stayed stuck across the 127s \/ 157s \/ 188s &#8220;workqueue lockup&#8221; reports until external monitoring eventually rebooted the host.&#13;<\/p>\n<p>This series doesn&#8217;t fix the firmware bug &#8211; that&#8217;s vendor territory &#8211; 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 &#8220;EFI firmware is at fault&#8221; signal in dmesg, which is especially valuable at fleet scale where the same symptom could otherwise be attributed to dozens of unrelated stalls.&#8221;<\/p>\n<p>The timeout threshold being set is 120 seconds as longer than &#8220;any plausible legitimate call&#8221; into the EFI runtime services.<\/p>\n<p>This new safeguard landed via the <a href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=388b607d107c07aaade04c7f22f344cab6bdccd3\" rel=\"nofollow noopener\" target=\"_blank\">EFI feature merge<\/a> into Linux 7.3.<\/p>\n","protected":false},"excerpt":{"rendered":"The EFI updates were merged today for the in-development Linux 7.3 kernel. Most notable with the EFI updates&hellip;\n","protected":false},"author":2,"featured_media":593817,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[78437,85,46,78436,78434,78433,78440,78438,78435,78439,78432,78443,125,78441,78442],"class_list":["post-593816","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology","tag-desktop-linux","tag-il","tag-israel","tag-linux-benchmarking","tag-linux-hardware-benchmarks","tag-linux-hardware-reviews","tag-linux-how-to","tag-linux-performance","tag-linux-server-benchmarks","tag-open-source-graphics","tag-phoronix","tag-phoronix-test-suite","tag-technology","tag-ubuntu-benchmarks","tag-ubuntu-hardware"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/593816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/comments?post=593816"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/593816\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media\/593817"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media?parent=593816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/categories?post=593816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/tags?post=593816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}