projects
/
linux-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'clk-imx' into clk-next
[linux-block.git]
/
io_uring
/
uring_cmd.c
diff --git
a/io_uring/uring_cmd.c
b/io_uring/uring_cmd.c
index 446a189b78b037ceb4b272ff02180ec9a3539f17..2e4c483075d331f70b2dafa11797e8f7c3fac757 100644
(file)
--- a/
io_uring/uring_cmd.c
+++ b/
io_uring/uring_cmd.c
@@
-108,7
+108,7
@@
int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
struct file *file = req->file;
int ret;
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);
return -EOPNOTSUPP;
ret = security_uring_cmd(ioucmd);
@@
-120,6
+120,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 (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);
issue_flags |= IO_URING_F_IOPOLL;
req->iopoll_completed = 0;
WRITE_ONCE(ioucmd->cookie, NULL);