In the Linux kernel, the following vulnerability has been resolved:
net:sfc: fix non-freed irq in legacy irq mode
SFC driver can be configured via modparam to work using MSI-X, MSI or legacy IRQ interrupts. In the last one, the interrupt was not properly released on module remove.
It was not freed because the flag irqs_hooked was not set during initialization in the case of using legacy IRQ.
Example of (trimmed) trace during module remove without this fix:
removeprocentry: removing non-empty directory 'irq/125', leaking at least '0000:3b:00.1' WARNING: CPU: 39 PID: 3658 at fs/proc/generic.c:715 removeprocentry+0x15c/0x170 ...trimmed... Call Trace: unregisterirqproc+0xe3/0x100 freedesc+0x29/0x70 irqfreedescs+0x47/0x70 mpunmapirq+0x58/0x60 acpiunregistergsiioapic+0x2a/0x40 acpipciirqdisable+0x78/0xb0 pcidisabledevice+0xd1/0x100 efxpciremove+0xa1/0x1e0 [sfc] pcideviceremove+0x38/0xa0 _devicereleasedriver+0x177/0x230 driverdetach+0xcb/0x110 busremovedriver+0x58/0xd0 pciunregisterdriver+0x2a/0xb0 efxexitmodule+0x24/0xf40 [sfc] _dosysdeletemodule.constprop.0+0x171/0x280 ? exittousermodeprepare+0x83/0x1d0 dosyscall64+0x3d/0x80 entrySYSCALL64after_hwframe+0x44/0xae RIP: 0033:0x7f9f9385800b ...trimmed...