io_uring: don't check for io_uring_fops for fixed files
authorJens Axboe <axboe@kernel.dk>
Fri, 12 Mar 2021 15:27:05 +0000 (08:27 -0700)
committerJens Axboe <axboe@kernel.dk>
Sun, 11 Apr 2021 23:41:58 +0000 (17:41 -0600)
We don't allow them at registration time, so limit the check for needing
inflight tracking in io_file_get() to the non-fixed path.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index d5ef956..e7ddfa1 100644 (file)
@@ -6212,10 +6212,12 @@ static struct file *io_file_get(struct io_submit_state *state,
        } else {
                trace_io_uring_file_get(ctx, fd);
                file = __io_file_get(state, fd);
+
+               /* we don't allow fixed io_uring files */
+               if (file && unlikely(file->f_op == &io_uring_fops))
+                       io_req_track_inflight(req);
        }
 
-       if (file && unlikely(file->f_op == &io_uring_fops))
-               io_req_track_inflight(req);
        return file;
 }