Skip to content
CVE PROGRAM SOURCE RECORD7.5 High

CVE-2024-27435

nvme: fix reconnection fail due to reserved tag allocation

Description

In the Linux kernel, the following vulnerability has been resolved: nvme: fix reconnection fail due to reserved tag allocation We found a issue on production environment while using NVMe over RDMA, admin_q reconnect failed forever while remote target and network is ok. After dig into it, we found it may caused by a ABBA deadlock due to tag allocation. In my case, the tag was hold by a keep alive request waiting inside admin_q, as we quiesced admin_q while reset ctrl, so the request maked as idle and will not process before reset success. As fabric_q shares tagset with admin_q, while reconnect remote target, we need a tag for connect command, but the only one reserved tag was held by keep alive command which waiting inside admin_q. As a result, we failed to reconnect admin_q forever. In order to fix this issue, I think we should keep two reserved tags for admin queue.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • ed01fee283a067c72b2d6500046080dbc1bb9dae to < 149afee5c7418ec5db9d7387b9c9a5c1eb7ea2a8affected
  • ed01fee283a067c72b2d6500046080dbc1bb9dae to < ff2f90f88d78559802466ad1c84ac5bda4416b3aaffected
  • ed01fee283a067c72b2d6500046080dbc1bb9dae to < 6851778504cdb49431809b4ba061903d5f592c96affected
  • ed01fee283a067c72b2d6500046080dbc1bb9dae to < 262da920896e2f2ab0e3947d9dbee0aa09045818affected
  • ed01fee283a067c72b2d6500046080dbc1bb9dae to < de105068fead55ed5c07ade75e9c8e7f86a00d1daffected

Linux Linux

Default version status: affected

  • 5.12affected
  • 0 to < 5.12unaffected
  • 6.1.83 to ≤ 6.1.*unaffected
  • 6.6.23 to ≤ 6.6.*unaffected
  • 6.7.11 to ≤ 6.7.*unaffected
  • 6.8.2 to ≤ 6.8.*unaffected
  • 6.9 to ≤ *unaffected

References