diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-09-15 11:44:35 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-09-15 11:44:35 -0600 |
commit | fc7222c3a9f56271fba02aabbfbae999042f1679 (patch) | |
tree | d400007c5ce133367e55caa01cfcfe3d26291559 | |
parent | 62bb0647b14646fa6c9aa25ecdf67ad18f13523c (diff) | |
download | linux-stable-fc7222c3a9f56271fba02aabbfbae999042f1679.tar.gz linux-stable-fc7222c3a9f56271fba02aabbfbae999042f1679.tar.bz2 linux-stable-fc7222c3a9f56271fba02aabbfbae999042f1679.zip |
io_uring/msg_ring: check file type before putting
If we're invoked with a fixed file, follow the normal rules of not
calling io_fput_file(). Fixed files are permanently registered to the
ring, and do not need putting separately.
Cc: stable@vger.kernel.org
Fixes: aa184e8671f0 ("io_uring: don't attempt to IOPOLL for MSG_RING requests")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | io_uring/msg_ring.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/io_uring/msg_ring.c b/io_uring/msg_ring.c index 976c4ba68ee7..4a7e5d030c78 100644 --- a/io_uring/msg_ring.c +++ b/io_uring/msg_ring.c @@ -165,7 +165,8 @@ done: req_set_fail(req); io_req_set_res(req, 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 IOU_OK; } |