OSDN Git Service

io_uring: drop req submit reference always in async punt
authorJens Axboe <axboe@kernel.dk>
Tue, 30 Apr 2019 20:44:05 +0000 (14:44 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 1 May 2019 14:38:47 +0000 (08:38 -0600)
commit817869d2519f0cb7be5b3482129dadc806dfb747
tree6f5f784693b79fcfd0fa6a5c39e7a6d8d16a5137
parent52e04ef4c9d459cba3afd86ec335a411b40b7fd2
io_uring: drop req submit reference always in async punt

If we don't end up actually calling submit in io_sq_wq_submit_work(),
we still need to drop the submit reference to the request. If we
don't, then we can leak the request. This can happen if we race
with ring shutdown while flushing the workqueue for requests that
require use of the mm_struct.

Fixes: e65ef56db494 ("io_uring: use regular request ref counts")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c