CVE-2022-50744
Unknown Unknown - Not Provided

Hard Lockup in Linux lpfc Driver Due to Spinlock Flaw

Vulnerability report for CVE-2022-50744, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2025-12-24

Last updated on: 2025-12-24

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs During I/O and simultaneous cat of /sys/kernel/debug/lpfc/fnX/rx_monitor, a hard lockup similar to the call trace below may occur. The spin_lock_bh in lpfc_rx_monitor_report is not protecting from timer interrupts as expected, so change the strength of the spin lock to _irq. Kernel panic - not syncing: Hard LOCKUP CPU: 3 PID: 110402 Comm: cat Kdump: loaded exception RIP: native_queued_spin_lock_slowpath+91 [IRQ stack] native_queued_spin_lock_slowpath at ffffffffb814e30b _raw_spin_lock at ffffffffb89a667a lpfc_rx_monitor_record at ffffffffc0a73a36 [lpfc] lpfc_cmf_timer at ffffffffc0abbc67 [lpfc] __hrtimer_run_queues at ffffffffb8184250 hrtimer_interrupt at ffffffffb8184ab0 smp_apic_timer_interrupt at ffffffffb8a026ba apic_timer_interrupt at ffffffffb8a01c4f [End of IRQ stack] apic_timer_interrupt at ffffffffb8a01c4f lpfc_rx_monitor_report at ffffffffc0a73c80 [lpfc] lpfc_rx_monitor_read at ffffffffc0addde1 [lpfc] full_proxy_read at ffffffffb83e7fc3 vfs_read at ffffffffb833fe71 ksys_read at ffffffffb83402af do_syscall_64 at ffffffffb800430b entry_SYSCALL_64_after_hwframe at ffffffffb8a000ad

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2025-12-24
Last Modified
2025-12-24
Generated
2026-07-27
AI Q&A
2025-12-24
EPSS Evaluated
2026-07-26
NVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
linux kernel *
emule lpfc *
emulex lpfc *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability occurs in the Linux kernel's lpfc driver, where reading the rx_monitor file from debugfs during I/O operations can cause a hard lockup (kernel panic). The issue is due to the spin_lock_bh in lpfc_rx_monitor_report not properly protecting against timer interrupts, leading to a deadlock situation. The fix involves changing the spin lock to a stronger _irq variant to prevent this hard lockup.

Detection Guidance

You can detect this vulnerability by monitoring for hard lockups or kernel panics occurring when reading the file /sys/kernel/debug/lpfc/fnX/rx_monitor. Specifically, running the command `cat /sys/kernel/debug/lpfc/fnX/rx_monitor` may trigger the issue if the system is vulnerable. Observing kernel logs for messages related to hard lockups, spin_lock failures, or stack traces involving lpfc_rx_monitor functions can also help detect the problem.

Impact Analysis

This vulnerability can cause a hard lockup or kernel panic on the affected system when the rx_monitor debugfs file is read simultaneously with I/O operations. This results in the system becoming unresponsive, potentially causing downtime and loss of availability.

Mitigation Strategies

Immediate mitigation steps include avoiding reading the /sys/kernel/debug/lpfc/fnX/rx_monitor file during I/O operations to prevent triggering the hard lockup. Applying the kernel patch that changes the spin lock from spin_lock_bh to spin_lock_irq in the lpfc_rx_monitor_report function will fix the issue. If a patch is not yet available, consider disabling or limiting access to the debugfs lpfc rx_monitor interface until the fix can be applied.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2022-50744. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart