]> Git Repo - linux.git/blobdiff - io_uring/uring_cmd.c
Merge tag 'block-6.3-2023-03-24' of git://git.kernel.dk/linux
[linux.git] / io_uring / uring_cmd.c
index e535e8db01e3efad1f0ab202451c3c335fcb79e8..9a1dee5718724a109461560b39fc789132d6a13b 100644 (file)
@@ -110,7 +110,7 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
        struct file *file = req->file;
        int ret;
 
-       if (!req->file->f_op->uring_cmd)
+       if (!file->f_op->uring_cmd)
                return -EOPNOTSUPP;
 
        ret = security_uring_cmd(ioucmd);
@@ -122,6 +122,8 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
        if (ctx->flags & IORING_SETUP_CQE32)
                issue_flags |= IO_URING_F_CQE32;
        if (ctx->flags & IORING_SETUP_IOPOLL) {
+               if (!file->f_op->uring_cmd_iopoll)
+                       return -EOPNOTSUPP;
                issue_flags |= IO_URING_F_IOPOLL;
                req->iopoll_completed = 0;
                WRITE_ONCE(ioucmd->cookie, NULL);
This page took 0.032102 seconds and 4 git commands to generate.