CVE-2022-49542

scsi: lpfc: Move cfg_log_verbose check before calling lpfc_dmp_dbg()

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: Move cfg_log_verbose check before calling lpfc_dmp_dbg()

In an attempt to log message 0126 with LOG_TRACE_EVENT, the following hard

lockup call trace hangs the system.

Call Trace:

_raw_spin_lock_irqsave+0x32/0x40

lpfc_dmp_dbg.part.32+0x28/0x220 [lpfc]

lpfc_cmpl_els_fdisc+0x145/0x460 [lpfc]

lpfc_sli_cancel_jobs+0x92/0xd0 [lpfc]

lpfc_els_flush_cmd+0x43c/0x670 [lpfc]

lpfc_els_flush_all_cmd+0x37/0x60 [lpfc]

lpfc_sli4_async_event_proc+0x956/0x1720 [lpfc]

lpfc_do_work+0x1485/0x1d70 [lpfc]

kthread+0x112/0x130

ret_from_fork+0x1f/0x40

Kernel panic - not syncing: Hard LOCKUP

The same CPU tries to claim the phba->port_list_lock twice.

Move the cfg_log_verbose checks as part of the lpfc_printf_vlog() and

lpfc_printf_log() macros before calling lpfc_dmp_dbg(). There is no need

to take the phba->port_list_lock within lpfc_dmp_dbg().

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: Move cfg_log_verbose check before calling lpfc_dmp_dbg()
    cvelistv5