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 < 9189f20b4c5307c0998682bb522e481b4567a8b8affectedf45bca8c5052e8c59bab64ee90c44441678b9a52 to < 231cfa78ec5badd84a1a2b09465bfad1a926aba1affectedf45bca8c5052e8c59bab64ee90c44441678b9a52 to < d6f7377528d2abf338e504126e44439541be8f7daffectedf45bca8c5052e8c59bab64ee90c44441678b9a52 to < cd0a1804ac5bab2545ac700c8d0fe9ae9284c567affectedf45bca8c5052e8c59bab64ee90c44441678b9a52 to < 415d614344a4f1bbddf55d724fc7eb9ef4b39aadaffectedf45bca8c5052e8c59bab64ee90c44441678b9a52 to < 0367076b0817d5c75dfb83001ce7ce5c64d803a9affected10fd34ac79b234d9bd4459c9b9c1f9d5a67f7bdeaffected5.4.4 to < 5.4.240affected5.3.17 to < 5.4affected
Linux Linux
Default version status: affected
5.5affected0 to < 5.5unaffected5.4.240 to ≤ 5.4.*unaffected5.10.177 to ≤ 5.10.*unaffected5.15.105 to ≤ 5.15.*unaffected6.1.22 to ≤ 6.1.*unaffected6.2.9 to ≤ 6.2.*unaffected6.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9189f20b4c5307c0998682bb522e481b4567a8b8 ↗
- https://git.kernel.org/stable/c/231cfa78ec5badd84a1a2b09465bfad1a926aba1 ↗
- https://git.kernel.org/stable/c/d6f7377528d2abf338e504126e44439541be8f7d ↗
- https://git.kernel.org/stable/c/cd0a1804ac5bab2545ac700c8d0fe9ae9284c567 ↗
- https://git.kernel.org/stable/c/415d614344a4f1bbddf55d724fc7eb9ef4b39aad ↗
- https://git.kernel.org/stable/c/0367076b0817d5c75dfb83001ce7ce5c64d803a9 ↗