On 2/12/25 6:33 AM, Pavel Begunkov wrote: > struct io_tw_state is managed by core io_uring, and opcode handling code > must never try to cheat and create their own instances, it's plain > incorrect. > > io_waitid_complete() attempts exactly that outside of the task work > context, and even though the ring is locked, there would be no one to > reap the requests from the defer completion list. It only works now > because luckily it's called before io_uring_try_cancel_uring_cmd(), > which flushes completions. Applied, thanks. -- Jens Axboe