diff --git a/fs/io_uring.c b/fs/io_uring.c index 91de361ea9aba2d0d83718f150437382235945c1..e0823f58f7959804ecde3eefdc450cf4476f6652 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -4481,6 +4481,9 @@ static int io_msg_ring(struct io_kiocb *req, unsigned int issue_flags) if (ret < 0) 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); + req->file = NULL; return 0; }