In the Linux kernel, the following vulnerability has been resolved:
scsi: lpfc: Fix SCSI I/O completion and abort handler deadlock
During stress I/O tests with 500+ vports, hard LOCKUP call traces are
observed.
CPU A:
native_queued_spin_lock_slowpath+0x192
_raw_spin_lock_irqsave+0x32
lpfc_handle_fcp_err+0x4c6
lpfc_fcp_io_cmd_wqe_cmpl+0x964
lpfc_sli4_fp_handle_cqe+0x266
__lpfc_sli4_process_cq+0x105
__lpfc_sli4_hba_process_cq+0x3c
lpfc_cq_poll_hdler+0x16
irq_poll_softirq+0x76
__softirqentry_text_start+0xe4
irq_exit+0xf7
do_IRQ+0x7f
CPU B:
native_queued_spin_lock_slowpath+0x5b
_raw_spin_lock+0x1c
lpfc_abort_handler+0x13e
scmd_eh_abort_handler+0x85
process_one_work+0x1a7
worker_thread+0x30
kthread+0x112
ret_from_fork+0x1f
Diagram of lockup:
CPUA CPUB
---- ----
lpfc_cmd->buf_lock
phba->hbalock
lpfc_cmd->buf_lock
phba->hbalock
Fix by reordering the taking of the lpfc_cmd->buf_lock and phba->hbalock in
lpfc_abort_handler routine so that it tries to take the lpfc_cmd->buf_lock
first before phba->hbalock.
References
Configurations
Configuration 1 (hide)
|
History
10 Mar 2025, 21:30
Type | Values Removed | Values Added |
---|---|---|
References | () https://git.kernel.org/stable/c/03cbbd7c2f5ee288f648f4aeedc765a181188553 - Patch | |
References | () https://git.kernel.org/stable/c/0c4eed901285b9cae36a622f32bea3e92490da6c - Patch | |
References | () https://git.kernel.org/stable/c/21c0d469349957b5dc811c41200a2a998996ca8d - Patch | |
References | () https://git.kernel.org/stable/c/7625e81de2164a082810e1f27547d388406da610 - Patch | |
CPE | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | |
CVSS |
v2 : v3 : |
v2 : unknown
v3 : 5.5 |
CWE | CWE-667 | |
Summary |
|
|
First Time |
Linux linux Kernel
Linux |
26 Feb 2025, 07:01
Type | Values Removed | Values Added |
---|---|---|
New CVE |
Information
Published : 2025-02-26 07:01
Updated : 2025-03-10 21:30
NVD link : CVE-2022-49536
Mitre link : CVE-2022-49536
CVE.ORG link : CVE-2022-49536
JSON object : View
Products Affected
linux
- linux_kernel
CWE
CWE-667
Improper Locking