]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: polled fixed file must go through free iteration
authorJens Axboe <axboe@kernel.dk>
Wed, 13 May 2020 18:53:19 +0000 (12:53 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 13 May 2020 19:00:00 +0000 (13:00 -0600)
commit9726a7591322c4c753a5d98229ad0c6272cc559c
treeafa5874a6084f425a3541112502889a12755ffa2
parent840eea79bf4df7451fb5a13fab8e6aad1f3b5c38
io_uring: polled fixed file must go through free iteration

When we changed the file registration handling, it became important to
iterate the bulk request freeing list for fixed files as well, or we
miss dropping the fixed file reference. If not, we're leaking references,
and we'll get a kworker stuck waiting for file references to disappear.

This also means we can remove the special casing of fixed vs non-fixed
files, we need to iterate for both and we can just rely on
__io_req_aux_free() doing io_put_file() instead of doing it manually.

Fixes: be5b51d3c71b ("io_uring: refactor file register/unregister/update handling")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c