Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2023-53041

scsi: qla2xxx: Perform lockless command completion in abort path

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Perform lockless command completion in abort path While adding and removing the controller, the following call trace was observed: WARNING: CPU: 3 PID: 623596 at kernel/dma/mapping.c:532 dma_free_attrs+0x33/0x50 CPU: 3 PID: 623596 Comm: sh Kdump: loaded Not tainted 5.14.0-96.el9.x86_64 #1 RIP: 0010:dma_free_attrs+0x33/0x50 Call Trace: qla2x00_async_sns_sp_done+0x107/0x1b0 [qla2xxx] qla2x00_abort_srb+0x8e/0x250 [qla2xxx] ? ql_dbg+0x70/0x100 [qla2xxx] __qla2x00_abort_all_cmds+0x108/0x190 [qla2xxx] qla2x00_abort_all_cmds+0x24/0x70 [qla2xxx] qla2x00_abort_isp_cleanup+0x305/0x3e0 [qla2xxx] qla2x00_remove_one+0x364/0x400 [qla2xxx] pci_device_remove+0x36/0xa0 __device_release_driver+0x17a/0x230 device_release_driver+0x24/0x30 pci_stop_bus_device+0x68/0x90 pci_stop_and_remove_bus_device_locked+0x16/0x30 remove_store+0x75/0x90 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 ? do_user_addr_fault+0x1d8/0x680 ? do_syscall_64+0x69/0x80 ? exc_page_fault+0x62/0x140 ? asm_exc_page_fault+0x8/0x30 entry_SYSCALL_64_after_hwframe+0x44/0xae The command was completed in the abort path during driver unload with a lock held, causing the warning in abort path. Hence complete the command without any lock held.

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

  • 31c1f455203e56a3ce8d5dd92f37c83d07bd5bd5 to < 9189f20b4c5307c0998682bb522e481b4567a8b8affected
  • f45bca8c5052e8c59bab64ee90c44441678b9a52 to < 231cfa78ec5badd84a1a2b09465bfad1a926aba1affected
  • f45bca8c5052e8c59bab64ee90c44441678b9a52 to < d6f7377528d2abf338e504126e44439541be8f7daffected
  • f45bca8c5052e8c59bab64ee90c44441678b9a52 to < cd0a1804ac5bab2545ac700c8d0fe9ae9284c567affected
  • f45bca8c5052e8c59bab64ee90c44441678b9a52 to < 415d614344a4f1bbddf55d724fc7eb9ef4b39aadaffected
  • f45bca8c5052e8c59bab64ee90c44441678b9a52 to < 0367076b0817d5c75dfb83001ce7ce5c64d803a9affected
  • 10fd34ac79b234d9bd4459c9b9c1f9d5a67f7bdeaffected
  • 5.4.4 to < 5.4.240affected
  • 5.3.17 to < 5.4affected

Linux Linux

Default version status: affected

  • 5.5affected
  • 0 to < 5.5unaffected
  • 5.4.240 to ≤ 5.4.*unaffected
  • 5.10.177 to ≤ 5.10.*unaffected
  • 5.15.105 to ≤ 5.15.*unaffected
  • 6.1.22 to ≤ 6.1.*unaffected
  • 6.2.9 to ≤ 6.2.*unaffected
  • 6.3 to ≤ *unaffected

References