[PATCHSET v2 0/5] io_uring: ensure all needed read/write data is stable

Jens Axboe
2019-12-03T02:54:54Z

Currently we don't copy the associated iovecs when we punt to async
context, and this can prove problematic if the caller only ensures
the iovec is valid for the submission. This is a perfectly valid
assumption, and I think io_uring should make sure that this is safe
to do.

First patch is a prep patch, the following patches add support for
the various opcodes that need it.

Also see: https://github.com/axboe/liburing/issues/27

fs/io_uring.c | 466 ++++++++++++++++++++++++++--------
include/linux/socket.h | 20 +-
include/uapi/linux/io_uring.h | 1 +
net/socket.c | 76 ++----
4 files changed, 406 insertions(+), 157 deletions(-)

Changes since v1:

- Get rid of REQ_F_PREPPED, just use req->io
- Add sendmsg/recvmsg and connect
- Add IORING_FEAT_SUBMIT_STABLE to userspace can tell kernels with this
"feature" apart from older ones

--
Jens Axboe