On 3/23/26 10:14 AM, Pavel Begunkov wrote:
On 3/23/26 15:01, Jens Axboe wrote:
quoted
On 3/23/26 6:43 AM, Pavel Begunkov wrote:
quoted
@@ -898,12 +933,15 @@ void io_unregister_zcrx_ifqs(struct io_ring_ctx *ctx)
unsigned long id = 0;
ifq = xa_find(&ctx->zcrx_ctxs, &id, ULONG_MAX, XA_PRESENT);
- if (ifq)
+ if (ifq) {
+ if (WARN_ON_ONCE(!is_zcrx_entry_marked(ctx, id)))
+ break;
This break is inside the scoped_guard(), does this need an ifq = NULL
here? I do like scoped locking, but this seems a bit tricky...
That should work, want me to resend or would you amend it? It's a good
thing I was pointed at it, but I'm not too concerned about this case as
it's a warn once.
I can add it and add a note. Outside of that, I think the series looks
fine, no further comments.
--
Jens Axboe