From: Jens Axboe Date: Wed, 23 Jun 2021 15:04:13 +0000 (-0600) Subject: io_uring: add IOPOLL and reserved field checks to IORING_OP_RENAMEAT X-Git-Tag: for-5.14/io_uring-2021-06-30~10 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=ed7eb2592286ead7d3bfdf8adf65e65392167cc4;p=linux-block.git io_uring: add IOPOLL and reserved field checks to IORING_OP_RENAMEAT We can't support IOPOLL with non-pollable request types, and we should check for unused/reserved fields like we do for other request types. Fixes: 80a261fd0032 ("io_uring: add support for IORING_OP_RENAMEAT") Cc: stable@vger.kernel.org Reported-by: Dmitry Kadashev Signed-off-by: Jens Axboe --- diff --git a/fs/io_uring.c b/fs/io_uring.c index d7a68a2f2ec6..02eda0575c56 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -3463,6 +3463,10 @@ static int io_renameat_prep(struct io_kiocb *req, struct io_rename *ren = &req->rename; const char __user *oldf, *newf; + if (unlikely(req->ctx->flags & IORING_SETUP_IOPOLL)) + return -EINVAL; + if (sqe->ioprio || sqe->buf_index) + return -EINVAL; if (unlikely(req->flags & REQ_F_FIXED_FILE)) return -EBADF;