Description
In the Linux kernel, the following vulnerability has been resolved:

nvme-fc: Do not cancel requests in io target before it is initialized

A new nvme-fc controller in CONNECTING state sees admin request timeout
schedules ctrl->ioerr_work to abort inflight requests. This ends up
calling __nvme_fc_abort_outstanding_ios() which aborts requests in both
admin and io tagsets. In case fc_ctrl->tag_set was not initialized we
see the warning below. This is because ctrl.queue_count is initialized
early in nvme_fc_alloc_ctrl().

nvme nvme0: NVME-FC{0}: starting error recovery Connectivity Loss
INFO: trying to register non-static key.
The code is fine but needs lockdep annotation, or maybe
lpfc 0000:ab:00.0: queue 0 connect admin queue failed (-6).
you didn't initialize this object before use?
turning off the locking correctness validator.
Workqueue: nvme-reset-wq nvme_fc_ctrl_ioerr_work [nvme_fc]
Call Trace:
<TASK>
dump_stack_lvl+0x57/0x80
register_lock_class+0x567/0x580
__lock_acquire+0x330/0xb90
lock_acquire.part.0+0xad/0x210
blk_mq_tagset_busy_iter+0xf9/0xc00
__nvme_fc_abort_outstanding_ios+0x23f/0x320 [nvme_fc]
nvme_fc_ctrl_ioerr_work+0x172/0x210 [nvme_fc]
process_one_work+0x82c/0x1450
worker_thread+0x5ee/0xfd0
kthread+0x3a0/0x750
ret_from_fork+0x439/0x670
ret_from_fork_asm+0x1a/0x30
</TASK>

Update the check in __nvme_fc_abort_outstanding_ios() confirm that io
tagset was created before iterating over busy requests. Also make sure
to cancel ctrl->ioerr_work before removing io tagset.
Published: 2026-09-24
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Denial of Service (kernel crash)
Action: Patch urgently
AI Analysis

Impact

A fault in the Linux NVMe‑FC driver causes the kernel to abort I/O requests while the controller’s tag set is still uninitialized. When an NVMe‑FC controller enter a CONNECTING state and an admin request times out, the ioerr_work routine triggers __nvme_fc_abort_outstanding_ios(), which walks both admin and I/O tagsets. If the io‑tag set has not been created yet, this results in a kernel warning and can lead to a kernel panic. The direct consequence is that a local attacker or an application with kernel privileges can force a crash, producing a denial‑of‑service condition for the entire system.

Affected Systems

The flaw exists in the Linux kernel NVMe‑FC driver. Any Linux kernel that includes NVMe‑FC support and has not incorporated the fix from the referenced commits is vulnerable. The exact kernel releases affected are not listed in the data; practitioners should check for the presence of the patch or a kernel newer than the commit dates provided.

Risk and Exploitability

Because the bug is in kernel space, exploitation requires the attacker to interact with the NVMe‑FC subsystem, for example by initiating connections that trigger the admin timeout path. The vulnerability can be leveraged to crash the kernel, leading to a service outage. No EPSS score is available and the issue is not listed in CISA’s KEV catalog, but the missing initialization check and the potential for a kernel panic suggest a high severity for affected systems. The attack vector is likely local, and the risk is elevated until the patch is applied.

Generated by OpenCVE AI on September 25, 2026 at 02:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the patch from the commits referenced in the advisory.
  • If an immediate upgrade is not possible, reset the affected NVMe‑FC controller (e.g., using "nvme reset" or power cycling the controller) to clear lingering error work and avoid subsequent crashes.
  • Continuously monitor system logs for "nvme-fc" errors or WARN messages and refrain from using NVMe over Fibre Channel until the kernel fix is applied.

Generated by OpenCVE AI on September 25, 2026 at 02:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Fri, 25 Sep 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nvme-fc: Do not cancel requests in io target before it is initialized A new nvme-fc controller in CONNECTING state sees admin request timeout schedules ctrl->ioerr_work to abort inflight requests. This ends up calling __nvme_fc_abort_outstanding_ios() which aborts requests in both admin and io tagsets. In case fc_ctrl->tag_set was not initialized we see the warning below. This is because ctrl.queue_count is initialized early in nvme_fc_alloc_ctrl(). nvme nvme0: NVME-FC{0}: starting error recovery Connectivity Loss INFO: trying to register non-static key. The code is fine but needs lockdep annotation, or maybe lpfc 0000:ab:00.0: queue 0 connect admin queue failed (-6). you didn't initialize this object before use? turning off the locking correctness validator. Workqueue: nvme-reset-wq nvme_fc_ctrl_ioerr_work [nvme_fc] Call Trace: <TASK> dump_stack_lvl+0x57/0x80 register_lock_class+0x567/0x580 __lock_acquire+0x330/0xb90 lock_acquire.part.0+0xad/0x210 blk_mq_tagset_busy_iter+0xf9/0xc00 __nvme_fc_abort_outstanding_ios+0x23f/0x320 [nvme_fc] nvme_fc_ctrl_ioerr_work+0x172/0x210 [nvme_fc] process_one_work+0x82c/0x1450 worker_thread+0x5ee/0xfd0 kthread+0x3a0/0x750 ret_from_fork+0x439/0x670 ret_from_fork_asm+0x1a/0x30 </TASK> Update the check in __nvme_fc_abort_outstanding_ios() confirm that io tagset was created before iterating over busy requests. Also make sure to cancel ctrl->ioerr_work before removing io tagset.
Title nvme-fc: Do not cancel requests in io target before it is initialized
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-25T05:10:25.212Z

Reserved: 2026-09-24T14:53:16.867Z

Link: CVE-2026-97409

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:18.463

Modified: 2026-09-25T05:17:04.470

Link: CVE-2026-97409

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T02:30:07Z

Weaknesses