In the Linux kernel, the following vulnerability has been resolved: io_uring: check if iowq is killed before queuing task work can be executed after the task has gone through io_uring termination, whether it's the final task_work run or the fallback path. In this case, task work will find ->io_wq being already killed and null'ed, which is a problem if it then tries to forward the request to io_queue_iowq(). Make io_queue_iowq() fail requests in this case. Note that it also checks PF_KTHREAD, because the user can first close a DEFER_TASKRUN ring and shortly after kill the task, in which case ->iowq check would race.
https://git.kernel.org/stable/c/dbd2ca9367eb19bc5e269b8c58b0b1514ada9156
https://git.kernel.org/stable/c/534d59ab38010aada88390db65985e65d0de7d9e
https://git.kernel.org/stable/c/4f95a2186b7f2af09331e1e8069bcaf34fe019cf
https://git.kernel.org/stable/c/2ca94c8de36091067b9ce7527ae8db3812d38781