]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: don't cancel all work on process exit
authorJens Axboe <axboe@kernel.dk>
Sun, 26 Jan 2020 17:17:12 +0000 (10:17 -0700)
committerJens Axboe <axboe@kernel.dk>
Sun, 26 Jan 2020 17:17:12 +0000 (10:17 -0700)
commit25133b15b6ccafb5b5a1495bb00a20bfcc44c9b1
tree175b189cae209e729e2c5670c40207b494c636bc
parent8b0d69e77f63cc8debfbdd261e75977107356e06
io_uring: don't cancel all work on process exit

If we're sharing the ring across forks, then one process exiting means
that we cancel ALL work and prevent future work. This is overly
restrictive. As long as we cancel the work associated with the files
from the current task, it's safe to let others persist. Normal fd close
on exit will still wait (and cancel) pending work.

Fixes: 2e97e1984476 ("io_uring: io_uring: add support for async work inheriting files")
Reported-by: Andres Freund <andres@anarazel.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c