mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
io_uring/zcrx: make scrubbing more reliable
Currently, scrubbing is done once before killing all recvzc requests. It's fine as those are cancelled and don't return buffers afterwards, but it'll be more reliable not to rely that much on cancellations. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://patch.msgid.link/c4ea127023494cbbedebd21a2b7ae5ff0448eb95.1779189667.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
67ee1f021a
commit
74fc9a9b50
|
|
@ -985,6 +985,12 @@ void io_unregister_zcrx(struct io_ring_ctx *ctx)
|
|||
}
|
||||
if (!ifq)
|
||||
break;
|
||||
/*
|
||||
* io_uring can run requests and return buffers to the user
|
||||
* after termination, scrub it again.
|
||||
*/
|
||||
if (refcount_read(&ifq->user_refs) == 0)
|
||||
io_zcrx_scrub(ifq);
|
||||
io_put_zcrx_ifq(ifq);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user