i40e: fix IRQ freeing in i40e_vsi_request_irq_msix error path
Description
In the Linux kernel, the following vulnerability has been resolved:
i40e: fix IRQ freeing in i40e_vsi_request_irq_msix error path
If request_irq() in i40e_vsi_request_irq_msix() fails in an iteration later than the first, the error path wants to free the IRQs requested so far. However, it uses the wrong dev_id argument for free_irq(), so it does not free the IRQs correctly and instead triggers the warning:
Trying to free already-free IRQ 173 WARNING: CPU: 25 PID: 1091 at kernel/irq/manage.c:1829 __free_irq+0x192/0x2c0 Modules linked in: i40e(+) [...] CPU: 25 UID: 0 PID: 1091 Comm: NetworkManager Not tainted 6.17.0-rc1+ #1 PREEMPT(lazy) Hardware name: [...] RIP: 0010:__free_irq+0x192/0x2c0 [...] Call Trace:
free_irq+0x32/0x70 i40e_vsi_request_irq_msix.cold+0x63/0x8b [i40e] i40e_vsi_request_irq+0x79/0x80 [i40e] i40e_vsi_open+0x21f/0x2f0 [i40e] i40e_open+0x63/0x130 [i40e] __dev_open+0xfc/0x210 __dev_change_flags+0x1fc/0x240 netif_change_flags+0x27/0x70 do_setlink.isra.0+0x341/0xc70 rtnl_newlink+0x468/0x860 rtnetlink_rcv_msg+0x375/0x450 netlink_rcv_skb+0x5c/0x110 netlink_unicast+0x288/0x3c0 netlink_sendmsg+0x20d/0x430 ____sys_sendmsg+0x3a2/0x3d0 ___sys_sendmsg+0x99/0xe0 __sys_sendmsg+0x8a/0xf0 do_syscall_64+0x82/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e [...]
---[ end trace 0000000000000000 ]---
Use the same dev_id for free_irq() as for request_irq().
I tested this with inserting code to fail intentionally.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
120- osv-coords118 versionspkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-rt_debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-source-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-source-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-syms-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2012%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-livepatch-SLE15-SP6-RT_Update_17&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP6_Update_17&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP7-RT_Update_6&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-livepatch-SLE15-SP7_Update_6&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-rt_debug&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kgraft-patch-SLE12-SP5_Update_74&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2012%20SP5
< 6.4.0-150600.23.78.1+ 117 more
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.8.55.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150600.23.78.1.150600.12.34.2
- (no CPE)range: < 6.12.0-160000.6.1.160000.2.4
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.8.55.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-150600.8.55.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.8.55.1
- (no CPE)range: < 6.4.0-150700.20.18.1
- (no CPE)range: < 6.4.0-150600.23.78.1.150600.12.34.2
- (no CPE)range: < 6.4.0-150700.53.22.1.150700.17.15.1
- (no CPE)range: < 6.12.0-160000.6.1.160000.2.4
- (no CPE)range: < 6.12.0-160000.6.1.160000.2.4
- (no CPE)range: < 6.4.0-36.1.21.13
- (no CPE)range: < 6.4.0-36.1.21.13
- (no CPE)range: < 6.12.0-160000.6.1.160000.2.4
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.4.0-36.1
- (no CPE)range: < 6.4.0-36.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-36.1
- (no CPE)range: < 6.4.0-36.1
- (no CPE)range: < 1-150600.1.3.1
- (no CPE)range: < 1-150600.13.5.1
- (no CPE)range: < 1-150700.1.3.1
- (no CPE)range: < 1-150700.15.3.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-150700.7.22.1
- (no CPE)range: < 6.4.0-150600.8.55.1
- (no CPE)range: < 6.4.0-150700.20.18.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.4.0-36.1
- (no CPE)range: < 6.4.0-36.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-150700.7.22.1
- (no CPE)range: < 6.4.0-150600.8.55.1
- (no CPE)range: < 6.4.0-150700.20.18.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 4.12.14-122.280.1
- (no CPE)range: < 6.4.0-150600.10.58.1
- (no CPE)range: < 6.4.0-150700.7.22.1
- (no CPE)range: < 6.4.0-150600.23.78.1
- (no CPE)range: < 6.4.0-150700.53.22.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 6.12.0-160000.7.1
- (no CPE)range: < 1-8.5.1
Patches
Vulnerability mechanics
References
8- git.kernel.org/stable/c/13ab9adef3cd386511c930a9660ae06595007f89mitre
- git.kernel.org/stable/c/23431998a37764c464737b855c71a81d50992e98mitre
- git.kernel.org/stable/c/6e4016c0dca53afc71e3b99e24252b63417395dfmitre
- git.kernel.org/stable/c/915470e1b44e71d1dd07ee067276f003c3521ee3mitre
- git.kernel.org/stable/c/a30afd6617c30aaa338d1dbcb1e34e7a1890085cmitre
- git.kernel.org/stable/c/b905b2acb3a0bbb08ad9be9984d8cdabdf827315mitre
- git.kernel.org/stable/c/b9721a023df38cf44a88f2739b4cf51efd051f85mitre
- git.kernel.org/stable/c/c62580674ce5feb1be4f90b5873ff3ce50e0a1dbmitre
News mentions
0No linked articles in our index yet.