summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc/python_version.py
diff options
context:
space:
mode:
authorChris Mason <mason@kernel.org>2026-10-20 21:23:35 +0000
committerJens Axboe <axboe@kernel.dk>2026-10-28 10:49:59 -0600
commit51bab09b7ca1a9a6dd9303a3b7ee346f8128c963 (patch)
tree0e2e3109b515d8055ae286152f4a3a6bc24e38a5 /tools/lib/python/kdoc/python_version.py
parent0b34e7b20a48710b6f53716bf7030920b69fdbdd (diff)
io_uring: free XArray nodes left by a failed store
A failed xa_store() can leave nodes without entries in the tree, and erasing every entry doesn't free those. An XArray needs xa_destroy() before it goes away, even an empty one. That was dropped for tctx->xa in commit ca6484cd308a ("io_uring: no need to call xa_destroy() on empty xarray") over a lockdep report from freeing the tctx in softirq context, and ctx->personalities never had it. Now that the nodes are charged, a store can fail at memory.max and the leaked nodes stay charged. Call xa_destroy() in io_uring_clean_tctx(), which the task runs itself in process context before the tctx is freed, in the error path of __io_uring_add_tctx_node(), and for ctx->personalities in io_ring_ctx_free(). Fixes: ca6484cd308a ("io_uring: no need to call xa_destroy() on empty xarray") Signed-off-by: Chris Mason <mason@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions