diff options
author | Jens Axboe <axboe@kernel.dk> | 2020-07-10 09:13:34 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-07-10 09:18:35 -0600 |
commit | 309fc03a3284af62eb6082fb60327045a1dabf57 (patch) | |
tree | 86fe76e3d98a2193ce8b440a9d212f6d91c7b7fb /include | |
parent | 667e57da358f61b6966e12e925a69e42d912e8bb (diff) |
io_uring: account user memory freed when exit has been queued
We currently account the memory after the exit work has been run, but
that leaves a gap where a process has closed its ring and until the
memory has been accounted as freed. If the memlocked ulimit is
borderline, then that can introduce spurious setup errors returning
-ENOMEM because the free work hasn't been run yet.
Account this as freed when we close the ring, as not to expose a tiny
gap where setting up a new ring can fail.
Fixes: 85faa7b8346e ("io_uring: punt final io_ring_ctx wait-and-free to workqueue")
Cc: stable@vger.kernel.org # v5.7
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions