From: Breno Leitao <leitao@debian.org>
To: Ard Biesheuvel <ardb@kernel.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Josh Poimboeuf <jpoimboe@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
Breno Leitao <leitao@debian.org>,
kernel-team@meta.com, kernel test robot <lkp@intel.com>
Subject: [PATCH 1/2] efi/runtime-wrappers: mark efi_rts_park_worker() as __noreturn
Date: Mon, 13 Jul 2026 06:06:47 -0700 [thread overview]
Message-ID: <20260713-efi_fixes-v1-1-cdde378d9df9@debian.org> (raw)
In-Reply-To: <20260713-efi_fixes-v1-0-cdde378d9df9@debian.org>
efi_rts_park_worker() loops in schedule() forever and never returns, but
it is not annotated as such. When efi_crash_gracefully_on_page_fault()
calls it, objtool cannot tell the call is a dead end and warns about the
unreachable code that follows it:
vmlinux.o: warning: objtool: efi_crash_gracefully_on_page_fault+0xc3: efi_rts_park_worker() missing __noreturn in .c/.h or NORETURN() in noreturns.h
Mark both the declaration and the definition __noreturn, and add the
function to objtool's noreturn list.
Fixes: 3e5ba97c181e ("efi/runtime-wrappers: factor out efi_rts_park_worker()")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202607100848.iWPxdkhX-lkp@intel.com/
Signed-off-by: Breno Leitao <leitao@debian.org>
---
drivers/firmware/efi/runtime-wrappers.c | 2 +-
include/linux/efi.h | 2 +-
tools/objtool/noreturns.h | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/firmware/efi/runtime-wrappers.c b/drivers/firmware/efi/runtime-wrappers.c
index 591a725b10613..6f42da11a9178 100644
--- a/drivers/firmware/efi/runtime-wrappers.c
+++ b/drivers/firmware/efi/runtime-wrappers.c
@@ -224,7 +224,7 @@ extern struct semaphore __efi_uv_runtime_lock __alias(efi_runtime_lock);
* have been disabled and its efi_rts_work is abandoned. Loop in schedule()
* so a spurious wakeup cannot resume it.
*/
-void efi_rts_park_worker(void)
+void __noreturn efi_rts_park_worker(void)
{
for (;;) {
set_current_state(TASK_IDLE);
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 015505423277e..b3c83516593d1 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1256,7 +1256,7 @@ extern struct efi_runtime_work efi_rts_work;
/* Workqueue to queue EFI Runtime Services */
extern struct workqueue_struct *efi_rts_wq;
-void efi_rts_park_worker(void);
+void __noreturn efi_rts_park_worker(void);
struct linux_efi_memreserve {
int size; // allocated size of the array
diff --git a/tools/objtool/noreturns.h b/tools/objtool/noreturns.h
index 14f8ab653449c..0e9dfd0a2446c 100644
--- a/tools/objtool/noreturns.h
+++ b/tools/objtool/noreturns.h
@@ -26,6 +26,7 @@ NORETURN(cpu_startup_entry)
NORETURN(do_exit)
NORETURN(do_group_exit)
NORETURN(do_task_dead)
+NORETURN(efi_rts_park_worker)
NORETURN(ex_handler_msr_mce)
NORETURN(hlt_play_dead)
NORETURN(hv_ghcb_terminate)
--
2.53.0-Meta
next prev parent reply other threads:[~2026-07-13 13:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 13:06 [PATCH 0/2] efi/runtime-wrappers: fix linker warnings Breno Leitao
2026-07-13 13:06 ` Breno Leitao [this message]
2026-07-13 13:06 ` [PATCH 2/2] efi/runtime-wrappers: mark efi_runtime_lock_owner as __used Breno Leitao
2026-07-14 6:50 ` [PATCH 0/2] efi/runtime-wrappers: fix linker warnings Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260713-efi_fixes-v1-1-cdde378d9df9@debian.org \
--to=leitao@debian.org \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=ilias.apalodimas@linaro.org \
--cc=jpoimboe@kernel.org \
--cc=kernel-team@meta.com \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).