If locked was not set in __io_run_local_work, but some task work managed to lock the context, it would leave things locked indefinitely. Fix that by passing the pointer in. Patch 1 is a tiny cleanup to simplify things Patch 2 is the fix Dylan Yudaken (2): io_uring: use io_run_local_work_locked helper io_uring: unlock if __io_run_local_work locked inside io_uring/io_uring.c | 11 +++++------ io_uring/io_uring.h | 12 ++++++++++-- 2 files changed, 15 insertions(+), 8 deletions(-) base-commit: 247f34f7b80357943234f93f247a1ae6b6c3a740 -- 2.30.2