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: v5.14-rc1~115^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed7eb2592286ead7d3bfdf8adf65e65392167cc4;p=thirdparty%2Fkernel%2Flinux.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 d7a68a2f2ec65..02eda0575c56d 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;