io_uring: use io_file_from_index in io_msg_grab_file
authorChristoph Hellwig <hch@lst.de>
Tue, 20 Jun 2023 11:32:34 +0000 (13:32 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 20 Jun 2023 15:36:22 +0000 (09:36 -0600)
Use io_file_from_index instead of open coding it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230620113235.920399-8-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/msg_ring.c

index 85fd7ce..cd6dcf6 100644 (file)
@@ -162,14 +162,12 @@ static struct file *io_msg_grab_file(struct io_kiocb *req, unsigned int issue_fl
        struct io_msg *msg = io_kiocb_to_cmd(req, struct io_msg);
        struct io_ring_ctx *ctx = req->ctx;
        struct file *file = NULL;
-       unsigned long file_ptr;
        int idx = msg->src_fd;
 
        io_ring_submit_lock(ctx, issue_flags);
        if (likely(idx < ctx->nr_user_files)) {
                idx = array_index_nospec(idx, ctx->nr_user_files);
-               file_ptr = io_fixed_file_slot(&ctx->file_table, idx)->file_ptr;
-               file = (struct file *) (file_ptr & FFS_MASK);
+               file = io_file_from_index(&ctx->file_table, idx);
                if (file)
                        get_file(file);
        }