In the Linux kernel, the following vulnerability has been resolved:
RDMA/irdma: Fix KASAN issue with tasklet
KASAN testing revealed the following issue assocated with freeing an IRQ.
[50006.466686] Call Trace: [50006.466691] <IRQ> [50006.489538] dumpstack+0x5c/0x80 [50006.493475] printaddressdescription.constprop.6+0x1a/0x150 [50006.499872] ? irdmascprocessceq+0x483/0x790 [irdma] [50006.505742] ? irdmascprocessceq+0x483/0x790 [irdma] [50006.511644] kasanreport.cold.11+0x7f/0x118 [50006.516572] ? irdmascprocessceq+0x483/0x790 [irdma] [50006.522473] irdmascprocessceq+0x483/0x790 [irdma] [50006.528232] irdmaprocessceq+0xb2/0x400 [irdma] [50006.533601] ? irdmahwflushwqescallback+0x370/0x370 [irdma] [50006.540298] irdmaceqdpc+0x44/0x100 [irdma] [50006.545306] taskletactioncommon.isra.14+0x148/0x2c0 [50006.551096] _dosoftirq+0x1d0/0xaf8 [50006.555396] irqexitrcu+0x219/0x260 [50006.559670] irqexit+0xa/0x20 [50006.563320] smpapictimerinterrupt+0x1bf/0x690 [50006.568645] apictimerinterrupt+0xf/0x20 [50006.573341] </IRQ>
The issue is that a tasklet could be pending on another core racing the delete of the irq.
Fix by insuring any scheduled tasklet is killed after deleting the irq.