summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBreno Leitao <leitao@debian.org>2026-06-16 05:09:35 -0700
committerArd Biesheuvel <ardb@kernel.org>2026-08-20 14:45:04 +0300
commitecbccdbdab5d31e1e465e3f789d57bb34e5452cd (patch)
tree073a19c95934d300d29f09418c624e6425841f47 /include
parent718ee46ba4d95d28d50d3f6437afbbe2be531175 (diff)
downloadlinux-ecbccdbdab5d31e1e465e3f789d57bb34e5452cd.tar.gz
linux-ecbccdbdab5d31e1e465e3f789d57bb34e5452cd.zip
efi/runtime-wrappers: factor out efi_rts_park_worker()
x86's efi_crash_gracefully_on_page_fault() ends in an infinite schedule() loop so the kworker that faulted in firmware never runs efi_rts_wq again. A later change needs the same "park this worker forever" primitive on the runtime service timeout path, so factor the loop into a shared efi_rts_park_worker() and call it from the x86 page-fault handler. No functional change. Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/efi.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 24221a842412..b3c83516593d 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1256,6 +1256,8 @@ extern struct efi_runtime_work efi_rts_work;
/* Workqueue to queue EFI Runtime Services */
extern struct workqueue_struct *efi_rts_wq;
+void __noreturn efi_rts_park_worker(void);
+
struct linux_efi_memreserve {
int size; // allocated size of the array
atomic_t count; // number of entries used