CVE-2022-49536

scsi: lpfc: Fix SCSI I/O completion and abort handler deadlock

Medium · published February 26, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
9.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00200 · 9.4th percentile
Published
2025-02-26T02:13Z
EPSS history
Timeline
  • 26 FEB 02:13Z
    scsi: lpfc: Fix SCSI I/O completion and abort handler deadlock
    cvelistv5