]> git.proxmox.com Git - mirror_ubuntu-hirsute-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)
commit9d9e88a24c1f20ebfc2f28b1762ce78c0b9e1cb3
treeafa5874a6084f425a3541112502889a12755ffa2
parentc96874265cd04b4bd4a8e114ac9af039a6d83cfe
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: 055895537302 ("io_uring: refactor file register/unregister/update handling")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c