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.9-2020-09-25' of git://git.kernel.dk/linux-block

Pull io_uring fixes from Jens Axboe:
"Two fixes for regressions in this cycle, and one that goes to 5.8
stable:

- fix leak of getname() retrieved filename

- remove plug->nowait assignment, fixing a regression with btrfs

- fix for async buffered retry"

* tag 'io_uring-5.9-2020-09-25' of git://git.kernel.dk/linux-block:
io_uring: ensure async buffered read-retry is setup properly
io_uring: don't unconditionally set plug->nowait = true
io_uring: ensure open/openat2 name is cleaned on cancelation

+7 -7
+7 -7
fs/io_uring.c
··· 3172 3172 goto done; 3173 3173 /* some cases will consume bytes even on error returns */ 3174 3174 iov_iter_revert(iter, iov_count - iov_iter_count(iter)); 3175 - ret = io_setup_async_rw(req, iovec, inline_vecs, iter, false); 3176 - if (ret) 3177 - goto out_free; 3178 - return -EAGAIN; 3175 + ret = 0; 3176 + goto copy_iov; 3179 3177 } else if (ret < 0) { 3180 3178 /* make sure -ERESTARTSYS -> -EINTR is done */ 3181 3179 goto done; ··· 5669 5671 io_put_file(req, req->splice.file_in, 5670 5672 (req->splice.flags & SPLICE_F_FD_IN_FIXED)); 5671 5673 break; 5674 + case IORING_OP_OPENAT: 5675 + case IORING_OP_OPENAT2: 5676 + if (req->open.filename) 5677 + putname(req->open.filename); 5678 + break; 5672 5679 } 5673 5680 req->flags &= ~REQ_F_NEED_CLEANUP; 5674 5681 } ··· 6351 6348 struct io_ring_ctx *ctx, unsigned int max_ios) 6352 6349 { 6353 6350 blk_start_plug(&state->plug); 6354 - #ifdef CONFIG_BLOCK 6355 - state->plug.nowait = true; 6356 - #endif 6357 6351 state->comp.nr = 0; 6358 6352 INIT_LIST_HEAD(&state->comp.list); 6359 6353 state->comp.ctx = ctx;