On Fri, 10 Jan 2025 20:36:45 +0000, Pavel Begunkov wrote: > With IORING_SETUP_SQPOLL all requests are created by the SQPOLL task, > which means that req->task should always match sqd->thread. Since > accesses to sqd->thread should be separately protected, use req->task > in io_req_normal_work_add() instead. > > Note, in the eyes of io_req_normal_work_add(), the SQPOLL task struct > is always pinned and alive, and sqd->thread can either be the task or > NULL. It's only problematic if the compiler decides to reload the value > after the null check, which is not so likely. > > [...] Applied, thanks! [1/1] io_uring: don't touch sqd->thread off tw add commit: bd2703b42decebdcddf76e277ba76b4c4a142d73 Best regards, -- Jens Axboe