CVE-2022-49542
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Summary
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().
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 0b3ad32e26460affc9d4b2f9c32d7c228e8b0cfb < 271725e4028559ae7974d762a8467dc9de412f2e | affected |
| Linux | Linux | 0b3ad32e26460affc9d4b2f9c32d7c228e8b0cfb < cc6501afccec55b8b6c90584cbf71f1fefa77d1e | affected |
| Linux | Linux | 0b3ad32e26460affc9d4b2f9c32d7c228e8b0cfb < 09c772557a4fd9490fed1bfb133268313ea22213 | affected |
| Linux | Linux | 0b3ad32e26460affc9d4b2f9c32d7c228e8b0cfb < e294647b1aed4247fe52851f3a3b2b19ae906228 | affected |
| Linux | Linux | 5.12 | affected |
| Linux | Linux | 0 < 5.12 | unaffected |
| Linux | Linux | 5.15.46 <= 5.15.* | unaffected |
| Linux | Linux | 5.17.14 <= 5.17.* | unaffected |
| Linux | Linux | 5.18.3 <= 5.18.* | unaffected |
| Linux | Linux | 5.19 <= * | unaffected |
Weaknesses
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: partial
References
- https://git.kernel.org/stable/c/271725e4028559ae7974d762a8467dc9de412f2e
- https://git.kernel.org/stable/c/cc6501afccec55b8b6c90584cbf71f1fefa77d1e
- https://git.kernel.org/stable/c/09c772557a4fd9490fed1bfb133268313ea22213
- https://git.kernel.org/stable/c/e294647b1aed4247fe52851f3a3b2b19ae906228
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.