漏洞信息
# arc_uart 驱动内存泄漏漏洞
## 概述
该漏洞存在于 Linux 内核的 ARC UART 串口驱动中,主要问题是因内存映射资源未正确释放导致资源泄漏。
## 影响版本
Linux 内核(具体版本未指定,漏洞修复于提及该更改的提交中)。
## 细节
在函数 `arc_serial_probe()` 中,调用 `of_iomap()` 将寄存器地址映射到 `port->membase`,如果随后的 `uart_add_one_port()` 调用失败,则 `port->membase` 没有被释放,造成资源泄漏。
警告由 Smatch 工具报告,指出 `port->membase` 未在错误路径中释放。
## 影响
未释放映射资源可能会导致系统资源泄漏,影响稳定性和性能。
## 解决方案
将 `of_iomap()` 替换为由设备管理的 `devm_platform_ioremap_resource()`,确保资源在驱动卸载或失败时能被自动释放。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
Smatch reports:
drivers/tty/serial/arc_uart.c:631 arc_serial_probe() warn:
'port->membase' from of_iomap() not released on lines: 631.
In arc_serial_probe(), if uart_add_one_port() fails,
port->membase is not released, which would cause a resource leak.
To fix this, I replace of_iomap with devm_platform_ioremap_resource.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于arc_serial_probe函数中资源未正确释放,可能导致资源泄漏。
CVSS信息
N/A
漏洞类别
其他