projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'block-6.3-2023-03-16' of git://git.kernel.dk/linux
[linux-2.6-microblaze.git]
/
io_uring
/
uring_cmd.c
diff --git
a/io_uring/uring_cmd.c
b/io_uring/uring_cmd.c
index
446a189
..
2e4c483
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);