漏洞标题
网络:广域网:fsl_qmc_hdlc:将carrier_lock环形锁转换为互斥锁
漏洞描述信息
在Linux内核中,已解决以下漏洞:
网络:广域网:fsl_qmc_hdlc:将carrier_lock自旋锁转换为互斥锁
carrier_lock自旋锁保护了载波检测。在持有该锁时,会调用framer_get_status()函数,进而又会获取一个互斥锁。这种操作不正确,可能导致死锁。
在启用PROVE_LOCKING功能运行时检测到此问题:
[ 错误:无效的等待上下文 ]
...
c204ddbc(&framer->mutex){+.+.}-{3:3},在:framer_get_status+0x40/0x78
可能有助于我们调试此问题的其他信息:
context-{4:4}
两个由ifconfig/146持有的锁:
#0:c0926a38(rtnl_mutex){+.+.}-{3:3},在:devinet_ioctl+0x12c/0x664
#1:c2006a40(&qmc_hdlc->carrier_lock){....}-{2:2},在:qmc_hdlc_framer_set_carrier+0x30/0x98
避免使用自旋锁,并将carrier_lock转换为互斥锁。
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
漏洞类别
加锁机制不恰当
漏洞标题
net: wan: fsl_qmc_hdlc: Convert carrier_lock spinlock to a mutex
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
net: wan: fsl_qmc_hdlc: Convert carrier_lock spinlock to a mutex
The carrier_lock spinlock protects the carrier detection. While it is
held, framer_get_status() is called which in turn takes a mutex.
This is not correct and can lead to a deadlock.
A run with PROVE_LOCKING enabled detected the issue:
[ BUG: Invalid wait context ]
...
c204ddbc (&framer->mutex){+.+.}-{3:3}, at: framer_get_status+0x40/0x78
other info that might help us debug this:
context-{4:4}
2 locks held by ifconfig/146:
#0: c0926a38 (rtnl_mutex){+.+.}-{3:3}, at: devinet_ioctl+0x12c/0x664
#1: c2006a40 (&qmc_hdlc->carrier_lock){....}-{2:2}, at: qmc_hdlc_framer_set_carrier+0x30/0x98
Avoid the spinlock usage and convert carrier_lock to a mutex.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞。攻击者利用该漏洞会导致死锁问题。
CVSS信息
N/A
漏洞类别
其他