io_uring: Fix getting file for non-fd opcodes
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 13 Nov 2019 21:11:01 +0000 (00:11 +0300)
committerJens Axboe <axboe@kernel.dk>
Thu, 14 Nov 2019 02:41:01 +0000 (19:41 -0700)
For timeout requests and bunch of others io_uring tries to grab a file
with specified fd, which is usually stdin/fd=0.
Update io_op_needs_file()

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index 9500780bcaeacb9e3a0089d04cf408c101a9de4f..55f8b1d378df13f2884bd5cfc33d0e44083b4acb 100644 (file)
@@ -2599,6 +2599,10 @@ static bool io_op_needs_file(const struct io_uring_sqe *sqe)
        switch (op) {
        case IORING_OP_NOP:
        case IORING_OP_POLL_REMOVE:
+       case IORING_OP_TIMEOUT:
+       case IORING_OP_TIMEOUT_REMOVE:
+       case IORING_OP_ASYNC_CANCEL:
+       case IORING_OP_LINK_TIMEOUT:
                return false;
        default:
                return true;