漏洞信息
# net/mlx5 同步重置卸载锁依赖问题
## 概述
Linux 内核中修复了一个在同步重置卸载事件期间触发的 lockdep 断言问题。该问题发生在使用 `devlink reload fw_activate` 选项启动同步重置流程时。
## 影响版本
受影响的版本包括在修复前使用 Mellanox MLX5 驱动(`mlx5_core`)的 Linux 内核版本。
## 细节
- 在同步重置过程中,PF(Physical Function)在处理卸载事件时已持有 `devlink` 锁。
- 此时再次尝试加锁触发了 `lockdep` 的断言警告。
- 警告堆栈如下:
```
WARNING: CPU: 9 PID: 1578 at devl_assert_locked+0x31/0x40
Call Trace:
mlx5_unload_one_devl_locked+0x2c/0xc0 [mlx5_core]
mlx5_sync_reset_unload_event+0xaf/0x2f0 [mlx5_core]
process_one_work+0x222/0x640
worker_thread+0x199/0x350
kthread+0x10b/0x230
...
```
## 影响
该漏洞会导致内核发出 `lockdep` 警告,虽然不一定会导致系统崩溃,但可能影响系统的稳定性和可调试性。修复通过将卸载事件处理交还给 `devlink` 回调流程,避免了重复加锁问题。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
net/mlx5: Fix lockdep assertion on sync reset unload event
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Fix lockdep assertion on sync reset unload event
Fix lockdep assertion triggered during sync reset unload event. When the
sync reset flow is initiated using the devlink reload fw_activate
option, the PF already holds the devlink lock while handling unload
event. In this case, delegate sync reset unload event handling back to
the devlink callback process to avoid double-locking and resolve the
lockdep warning.
Kernel log:
WARNING: CPU: 9 PID: 1578 at devl_assert_locked+0x31/0x40
[...]
Call Trace:
<TASK>
mlx5_unload_one_devl_locked+0x2c/0xc0 [mlx5_core]
mlx5_sync_reset_unload_event+0xaf/0x2f0 [mlx5_core]
process_one_work+0x222/0x640
worker_thread+0x199/0x350
kthread+0x10b/0x230
? __pfx_worker_thread+0x10/0x10
? __pfx_kthread+0x10/0x10
ret_from_fork+0x8e/0x100
? __pfx_kthread+0x10/0x10
ret_from_fork_asm+0x1a/0x30
</TASK>
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于devlink锁定处理不当,可能导致同步重置期间出现锁定冲突。
CVSS信息
N/A
漏洞类别
其他