In the Linux kernel, the following vulnerability has been resolved:
nvme-pci: Fix race bug in nvme_poll_irqdisable()
In the following scenario, pdev can be disabled between (1) and (3) by (2). This sets pdev->msix_enabled = 0. Then, pci_irq_vector() will return MSI-X IRQ(>15) for (1) whereas return INTx IRQ(<=15) for (2). This causes IRQ warning because it tries to enable INTx IRQ that has never been disabled before.
To fix this, save IRQ number into a local variable and ensure disable_irq() and enable_irq() operate on the same IRQ number. Even if pci_free_irq_vectors() frees the IRQ concurrently, disable_irq() and enable_irq() on a stale IRQ number is still valid and safe, and the depth accounting reamins balanced.
task 1: nvme_poll_irqdisable() disable_irq(pci_irq_vector(pdev, nvmeq->cq_vector)) ...(1) enable_irq(pci_irq_vector(pdev, nvmeq->cq_vector)) ...(3)
task 2: nvme_reset_work() nvme_dev_disable() pdev->msix_enable = 0; ...(2)
crash log:
------------[ cut here ]------------ Unbalanced enable for IRQ 10 WARNING: kernel/irq/manage.c:753 at __enable_irq+0x102/0x190 kernel/irq/manage.c:753, CPU#1: kworker/1:0H/26 Modules linked in: CPU: 1 UID: 0 PID: 26 Comm: kworker/1:0H Not tainted 6.19.0-dirty #9 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 Workqueue: kblockd blk_mq_timeout_work RIP: 0010:__enable_irq+0x107/0x190 kernel/irq/manage.c:753 Code: ff df 48 89 fa 48 c1 ea 03 0f b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 79 48 8d 3d 2e 7a 3f 05 41 8b 74 24 2c <67> 48 0f b9 3a e8 ef b9 21 00 5b 41 5c 5d e9 46 54 66 03 e8 e1 b9 RSP: 0018:ffffc900001bf550 EFLAGS: 00010046 RAX: 0000000000000007 RBX: 0000000000000000 RCX: ffffffffb20c0e90 RDX: 0000000000000000 RSI: 000000000000000a RDI: ffffffffb74b88f0 RBP: ffffc900001bf560 R08: ffff88800197cf00 R09: 0000000000000001 R10: 0000000000000003 R11: 0000000000000003 R12: ffff8880012a6000 R13: 1ffff92000037eae R14: 000000000000000a R15: 0000000000000293 FS: 0000000000000000(0000) GS:ffff8880b49f7000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555da4a25fa8 CR3: 00000000208e8000 CR4: 00000000000006f0 Call Trace: <TASK> enable_irq+0x121/0x1e0 kernel/irq/manage.c:797 nvme_poll_irqdisable+0x162/0x1c0 drivers/nvme/host/pci.c:1494 nvme_timeout+0x965/0x14b0 drivers/nvme/host/pci.c:1744 blk_mq_rq_timed_out block/blk-mq.c:1653 [inline] blk_mq_handle_expired+0x227/0x2d0 block/blk-mq.c:1721 bt_iter+0x2fc/0x3a0 block/blk-mq-tag.c:292 __sbitmap_for_each_set include/linux/sbitmap.h:269 [inline] sbitmap_for_each_set include/linux/sbitmap.h:290 [inline] bt_for_each block/blk-mq-tag.c:324 [inline] blk_mq_queue_tag_busy_iter+0x969/0x1e80 block/blk-mq-tag.c:536 blk_mq_timeout_work+0x627/0x870 block/blk-mq.c:1763 process_one_work+0x956/0x1aa0 kernel/workqueue.c:3257 process_scheduled_works kernel/workqueue.c:3340 [inline] worker_thread+0x65c/0xe60 kernel/workqueue.c:3421 kthread+0x41a/0x930 kernel/kthread.c:463 ret_from_fork+0x6f8/0x8c0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 </TASK> irq event stamp: 74478 hardirqs last enabled at (74477): [<ffffffffb5720a9c>] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:159 [inline] hardirqs last enabled at (74477): [<ffffffffb5720a9c>] _raw_spin_unlock_irq+0x2c/0x60 kernel/locking/spinlock.c:202 hardirqs last disabled at (74478): [<ffffffffb57207b5>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline] hardirqs last disabled at (74478): [<ffffffffb57207b5>] _raw_spin_lock_irqsave+0x85/0xa0 kernel/locking/spinlock.c:162 softirqs last enabled at (74304): [<ffffffffb1e9466c>] __do_softirq kernel/softirq.c:656 [inline] softirqs last enabled at (74304): [<ffffffffb1e9466c>] invoke_softirq kernel/softirq.c:496 [inline] softirqs last enabled at (74304): [<ffffffffb1e9466c>] __irq_exit_rcu+0xdc/0x120 ---truncated---
CVSS Details
- CVSS 3.1 Base Score: 4.7
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | May 10, 2026 | May 10, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | May 8, 2026 |
| Ubuntu | — | Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-20.04bUpgrade linux-image-oem-22.04aUpgrade linux-image-gcpUpgrade linux-image-xilinxUpgrade linux-image-azure-fipsUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-fipsUpgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-nvidiaUpgrade linux-image-oem-20.04dUpgrade linux-image-azure-lts-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-oem-22.04cUpgrade linux-image-virtualUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-fips-6.8Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-ibmUpgrade linux-image-lowlatencyUpgrade linux-image-gkeopUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-gke-64kUpgrade linux-image-oem-22.04Upgrade linux-image-aws-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-generic-64kUpgrade linux-image-genericUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-aws-64k-6.8Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-gke-64k-6.8Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-gcp-6.8Upgrade linux-image-laptop-23.10Upgrade linux-image-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-20.04cUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-oracle-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-virtual-6.8Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-6.8.0-136-fipsUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-6.8.0-1061-awsUpgrade linux-image-xilinx-6.8Upgrade linux-image-oracleUpgrade linux-image-gkeUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-aws-64kUpgrade linux-image-awsUpgrade linux-image-raspiUpgrade linux-image-gke-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-realtimeUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-136-genericUpgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-raspi-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-fde-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-oem-20.04 | Jul 21, 2026 | Jul 20, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 6, 2026 | May 8, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub