diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 21f1bcba2f52b54c5bb60abc1372dad765854c0d..cf28d29fffbf0e9d47a817d8409bc1c6d3098559 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -2053,6 +2053,8 @@ static int io_init_req(struct io_ring_ctx *ctx, struct io_kiocb *req, req->opcode = 0; return io_init_fail_req(req, -EINVAL); } + opcode = array_index_nospec(opcode, IORING_OP_LAST); + def = &io_issue_defs[opcode]; if (unlikely(sqe_flags & ~SQE_COMMON_FLAGS)) { /* enforce forwards compatibility on users */