Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'io_uring-5.8-2020-07-30' of git://git.kernel.dk/linux-block

Pull io_uring fixes from Jens Axboe:
"Two small fixes for corner/error cases"

* tag 'io_uring-5.8-2020-07-30' of git://git.kernel.dk/linux-block:
io_uring: fix lockup in io_fail_links()
io_uring: fix ->work corruption with poll_add

+5 -2
+5 -2
fs/io_uring.c
··· 4199 4199 4200 4200 hash_del(&req->hash_node); 4201 4201 io_poll_complete(req, req->result, 0); 4202 - req->flags |= REQ_F_COMP_LOCKED; 4203 - io_put_req_find_next(req, nxt); 4204 4202 spin_unlock_irq(&ctx->completion_lock); 4205 4203 4204 + io_put_req_find_next(req, nxt); 4206 4205 io_cqring_ev_posted(ctx); 4207 4206 } 4208 4207 ··· 4656 4657 struct io_ring_ctx *ctx = req->ctx; 4657 4658 struct io_poll_table ipt; 4658 4659 __poll_t mask; 4660 + 4661 + /* ->work is in union with hash_node and others */ 4662 + io_req_work_drop_env(req); 4663 + req->flags &= ~REQ_F_WORK_INITIALIZED; 4659 4664 4660 4665 INIT_HLIST_NODE(&req->hash_node); 4661 4666 INIT_LIST_HEAD(&req->list);