# 网络:dsa:mv88e6xxx:避免注销从未注册过的devlink区域
## 概述
在Linux内核中,针对mv88e6xxx驱动程序在解除绑定时发生NULL指针引用的问题进行了修复,该问题源于`devlink_region_destroy()`函数中未处理NULL值。
## 影响版本
未明确指出具体版本,但适用于使用mv88e6xxx芯片的Linux内核版本。
## 细节
Russell King报告了该问题的存在:https://lore.kernel.org/netdev/Z_lRkMlTJ1KQ0kVX@shell.armlinux.org.uk/
问题出现在`devlink_region_destroy()`函数中。此函数未能处理传入的NULL指针。
对于某些芯片,自相关提交以来,某些`devlink`区域是条件注册的。具体代码如`mv88e6xxx_setup_devlink_regions_global()`中所示:
```c
if (cond && !cond(chip))
continue;
```
这些条件下的区域为MV88E6XXX_REGION_STU和MV88E6XXX_REGION_PVT。如果芯片不支持STU或PVT,将导致崩溃。
## 影响
该漏洞导致系统在mv88e6xxx驱动程序解除绑定时发生崩溃。修复方案是避免取消注册那些为NULL的区域,即跳过了在`mv88e6xxx_setup_devlink_regions_global()`期间注册的区域。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签: