In the Linux kernel, the following vulnerability has been resolved: genirq/irqdesc: Prevent use-after-free in irqfindatorafter() irqfindatorafter() dereferences the interrupt descriptor which is returned by mtfind() while neither holding sparseirqlock nor RCU read lock, which means the descriptor can be freed between mtfind() and the dereference: CPU0 CPU1 desc = mtfind() delayedfreedesc(desc) irqdescgetirq(desc) The use-after-free is reported by KASAN: Call trace: irqgetnextirq+0x58/0x84 showstat+0x638/0x824 seqreaditer+0x158/0x4ec procregreaditer+0x94/0x12c vfsread+0x1e0/0x2c8 Freed by task 4471: slabfreefreelisthook+0x174/0x1e0 _kmemcachefree+0xa4/0x1dc kfree+0x64/0x128 irqkobjrelease+0x28/0x3c kobjectput+0xcc/0x1e0 delayedfreedesc+0x14/0x2c rcudo_batch+0x214/0x720 Guard the access with a RCU read lock section.