CVE-2026-23261

Summary

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

nvme-fc: release admin tagset if init fails

nvme_fabrics creates an NVMe/FC controller in following path:

nvmf_dev_write()
  -> nvmf_create_ctrl()
    -> nvme_fc_create_ctrl()
      -> nvme_fc_init_ctrl()

nvme_fc_init_ctrl() allocates the admin blk-mq resources right after nvme_add_ctrl() succeeds. If any of the subsequent steps fail (changing the controller state, scheduling connect work, etc.), we jump to the fail_ctrl path, which tears down the controller references but never frees the admin queue/tag set. The leaked blk-mq allocations match the kmemleak report seen during blktests nvme/fc.

Check ctrl->ctrl.admin_tagset in the fail_ctrl path and call nvme_remove_admin_tag_set() when it is set so that all admin queue allocations are reclaimed whenever controller setup aborts.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux5fe335a80548e2eda5d51fab801108b323600e95 < 7c54d3f5ebbc5982daaa004260242dc07ac943eaaffected
LinuxLinux17c3a66d7ea2d303f783796d62f99e2e23b68c90 < fa301aef50e3f3b5be6ee53457608beae5aa7a01affected
LinuxLinuxea3442efabd0aa3930c5bab73c3901ef38ef6ac3 < e810b290922c535feb34bc90ab549446fe94d2a3affected
LinuxLinuxea3442efabd0aa3930c5bab73c3901ef38ef6ac3 < d1877cc7270302081a315a81a0ee8331f19f95c8affected
LinuxLinux0d1840b2dd8fe073c020c39bf8e8e89488070801affected
LinuxLinux6.6.118 < 6.6.124affected
LinuxLinux6.12.60 < 6.12.70affected
LinuxLinux6.17.10 < 6.18affected
LinuxLinux6.18affected
LinuxLinux0 < 6.18unaffected
LinuxLinux6.6.124 <= 6.6.*unaffected
LinuxLinux6.12.70 <= 6.12.*unaffected
LinuxLinux6.18.10 <= 6.18.*unaffected
LinuxLinux6.19 <= *unaffected

Weaknesses

References