diff options
| author | Breno Leitao <leitao@debian.org> | 2026-06-16 05:09:40 -0700 |
|---|---|---|
| committer | Ard Biesheuvel <ardb@kernel.org> | 2026-08-20 14:45:05 +0300 |
| commit | 4b2c033b5bc971a6a1e3c5cd2fa44421eb2ff84e (patch) | |
| tree | 0b446228b440bea49619bbb9db40b6a4c71c3154 /tools/perf/scripts/python/bin | |
| parent | bb50e70f4ffe12ad1710883603ba8109bb5d6dfd (diff) | |
| download | linux-4b2c033b5bc971a6a1e3c5cd2fa44421eb2ff84e.tar.gz linux-4b2c033b5bc971a6a1e3c5cd2fa44421eb2ff84e.zip | |
efi/runtime-wrappers: retire the worker if a wedged call ever returns
When __efi_queue_work() times out it disables runtime services and
returns, but the kworker is still blocked inside firmware. If the
firmware eventually unblocks, efi_call_rts() would run its tail on an
efi_rts_work that the timed-out caller has long abandoned: signalling a
stale completion and clearing efi_runtime_lock_owner that may by then
belong to another caller.
If runtime services have been disabled by the time the call returns,
park the worker with efi_rts_park_worker() instead, so it never touches
efi_rts_work again or returns to the workqueue.
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions
