diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 48833d0edd089..602da2cfd57c8 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -5061,7 +5061,8 @@ static int io_msg_ring(struct io_kiocb *req, unsigned int issue_flags) req_set_fail(req); __io_req_complete(req, issue_flags, ret, 0); /* put file to avoid an attempt to IOPOLL the req */ - io_put_file(req->file); + if (!(req->flags & REQ_F_FIXED_FILE)) + io_put_file(req->file); req->file = NULL; return 0; }