diff --git a/fs/io_uring.c b/fs/io_uring.c index fd19c8b803172c93f874b3965667e47c712b03cb..d42f2eea5416730586290264639769ec78643da3 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -4620,6 +4620,10 @@ static int io_poll_add(struct io_kiocb *req) struct io_poll_table ipt; __poll_t mask; + /* ->work is in union with hash_node and others */ + io_req_work_drop_env(req); + req->flags &= ~REQ_F_WORK_INITIALIZED; + INIT_HLIST_NODE(&req->hash_node); INIT_LIST_HEAD(&req->list); ipt.pt._qproc = io_poll_queue_proc;