漏洞信息
# IB/hfi1:在 sc_disable() 中正确移动列表
## 漏洞概述
Linux内核中的IB/hfi1驱动程序存在一个漏洞,在`sc_disable()`函数中错误地移动列表,导致内核崩溃。
## 影响版本
未明确指出具体版本,但漏洞存在于包含提交13bac861952a的版本中。
## 漏洞细节
提交13bac861952a试图修正`sc_disable()`中的ABBA锁问题,但错误地移动了一个列表,导致内核崩溃。崩溃在链路下线且存在等待完成的发送时发生,崩溃日志如下:
```plaintext
BUG: kernel NULL pointer dereference, address: 0000000000000030
Call Trace:
sc_disable+0x1ba/0x240 [hfi1]
pio_freeze+0x3d/0x60 [hfi1]
handle_freeze+0x27/0x1b0 [hfi1]
process_one_work+0x1b0/0x380
? process_one_work+0x380/0x380
worker_thread+0x30/0x360
? process_one_work+0x380/0x380
kthread+0xd7/0x100
? kthread_complete_and_exit+0x20/0x20
ret_from_fork+0x1f/0x30
```
## 影响
该漏洞导致内核在特定条件下崩溃,除非正确处理列表移动,否则仍会继续发生。修复方法是使用正确的API调用移动列表。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
IB/hfi1: Correctly move list in sc_disable()
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
IB/hfi1: Correctly move list in sc_disable()
Commit 13bac861952a ("IB/hfi1: Fix abba locking issue with sc_disable()")
incorrectly tries to move a list from one list head to another. The
result is a kernel crash.
The crash is triggered when a link goes down and there are waiters for a
send to complete. The following signature is seen:
BUG: kernel NULL pointer dereference, address: 0000000000000030
[...]
Call Trace:
sc_disable+0x1ba/0x240 [hfi1]
pio_freeze+0x3d/0x60 [hfi1]
handle_freeze+0x27/0x1b0 [hfi1]
process_one_work+0x1b0/0x380
? process_one_work+0x380/0x380
worker_thread+0x30/0x360
? process_one_work+0x380/0x380
kthread+0xd7/0x100
? kthread_complete_and_exit+0x20/0x20
ret_from_fork+0x1f/0x30
The fix is to use the correct call to move the list.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于IB hfi1 sc_disable列表移动错误,可能导致系统崩溃。
CVSS信息
N/A
漏洞类别
其他