io_uring: kill extra user_bufs check
authorPavel Begunkov <asml.silence@gmail.com>
Sat, 5 Sep 2020 21:45:48 +0000 (00:45 +0300)
committerJens Axboe <axboe@kernel.dk>
Thu, 1 Oct 2020 02:32:34 +0000 (20:32 -0600)
Testing ctx->user_bufs for NULL in io_import_fixed() is not neccessary,
because in that case ctx->nr_user_bufs would be zero, and the following
check would fail.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index ed7032b..f3d90a6 100644 (file)
@@ -2672,18 +2672,12 @@ static ssize_t io_import_fixed(struct io_kiocb *req, int rw,
        struct io_ring_ctx *ctx = req->ctx;
        size_t len = req->rw.len;
        struct io_mapped_ubuf *imu;
-       u16 index, buf_index;
+       u16 index, buf_index = req->buf_index;
        size_t offset;
        u64 buf_addr;
 
-       /* attempt to use fixed buffers without having provided iovecs */
-       if (unlikely(!ctx->user_bufs))
-               return -EFAULT;
-
-       buf_index = req->buf_index;
        if (unlikely(buf_index >= ctx->nr_user_bufs))
                return -EFAULT;
-
        index = array_index_nospec(buf_index, ctx->nr_user_bufs);
        imu = &ctx->user_bufs[index];
        buf_addr = req->rw.addr;