diff options
author | Jens Axboe <axboe@kernel.dk> | 2019-12-03 04:49:10 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-12-13 10:42:28 +0300 |
commit | 57aabff8cce031b2c7af311c826ecf5cb029b587 (patch) | |
tree | 850eccf6ce8872a6b1b5fbfc4e10e88e97ba1825 /fs/io_uring.c | |
parent | f246eedbafdbf348c98d49a7891a3fe72118ffc3 (diff) | |
download | linux-57aabff8cce031b2c7af311c826ecf5cb029b587.tar.xz |
io_uring: transform send/recvmsg() -ERESTARTSYS to -EINTR
commit 441cdbd5449b4923cd413d3ba748124f91388be9 upstream.
We should never return -ERESTARTSYS to userspace, transform it into
-EINTR.
Cc: stable@vger.kernel.org # v5.3+
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/io_uring.c')
-rw-r--r-- | fs/io_uring.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c index aa05a032fabc..aeb3d7aa1489 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -1667,6 +1667,8 @@ static int io_send_recvmsg(struct io_kiocb *req, const struct io_uring_sqe *sqe, ret = fn(sock, msg, flags); if (force_nonblock && ret == -EAGAIN) return ret; + if (ret == -ERESTARTSYS) + ret = -EINTR; } io_cqring_add_event(req->ctx, sqe->user_data, ret); |