In the Linux kernel, the following vulnerability has been resolved: iouring/tctx: work around xastore() allocation error issue syzbot triggered the following WARNON: WARNING: CPU: 0 PID: 16 at iouring/tctx.c:51 _iouringfree+0xfa/0x140 iouring/tctx.c:51 which is the WARNONONCE(!xaempty(&tctx->xa)); sanity check in _iouringfree() when a iouringtask is going through its final put. The syzbot test case includes injecting memory allocation failures, and it very much looks like xastore() can fail one of its memory allocations and end up with ->head being non-NULL even though no entries exist in the xarray. Until this issue gets sorted out, work around it by attempting to iterate entries in our xarray, and WARNON_ONCE() if one is found.