一、 漏洞 CVE-2023-53514 基础信息
漏洞信息
                                        # GPU Host1x 设备名内存泄漏修复

## 概述

Linux 内核中修复了一个关于 Host1X GPU 设备名称内存泄漏的漏洞。

## 影响版本

描述中未提供具体受影响的 Linux 内核版本,但此漏洞问题存在于修改前的 Host1X GPU 驱动中。

## 细节

- Host1X 驱动中调用 `dev_set_name()` 为设备分配了名称,但在模块卸载时未能正确释放这些名称。
- `device_initialize()` 设置了 kobject 的引用计数,导致名称无法在模块卸载前释放。
- 如果 `device_add()` 失败,应仅通过 `put_device()` 减少引用计数,从而确保在 `kobject_cleanup()` 中释放设备名称。
- 原逻辑中误用 `device_del()` 和 `put_device()`,应替换为 `device_unregister()` 对成功添加的设备进行注销,仅对未成功添加的设备调用 `put_device()`。
- 为避免 `device_release()` 中因 release 函数为空而导致的 WARNING,添加了一个空的 `release()` 回调函数处理设备释放,实际释放由 `host1x_memory_context_list_free()` 完成。

## 影响

未经修复的版本可能导致 Host1X 子系统在模块卸载时发生设备名称的内存泄漏。
                                        
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
gpu: host1x: Fix memory leak of device names
来源:美国国家漏洞数据库 NVD
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Fix memory leak of device names The device names allocated by dev_set_name() need be freed before module unloading, but they can not be freed because the kobject's refcount which was set in device_initialize() has not be decreased to 0. As comment of device_add() says, if it fails, use only put_device() drop the refcount, then the name will be freed in kobejct_cleanup(). device_del() and put_device() can be replaced with device_unregister(), so call it to unregister the added successfully devices, and just call put_device() to the not added device. Add a release() function to device to avoid null release() function WARNING in device_release(), it's empty, because the context devices are freed together in host1x_memory_context_list_free().
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
N/A
来源:美国国家漏洞数据库 NVD
二、漏洞 CVE-2023-53514 的公开POC
# POC 描述 源链接 神龙链接
三、漏洞 CVE-2023-53514 的情报信息
四、漏洞 CVE-2023-53514 的评论

暂无评论


发表评论