CVE-2026-72063 in Linux信息

摘要

由 VulDB • 2026-08-15

在 Linux 内核中,已修复以下漏洞:

gpio: tegra: 不要为 GPIO 方向调用 pinctrl

tegra_gpio_direction_input() 和 tegra_gpio_direction_output() 已经直接编程 GPIO 控制器的方向寄存器。额外的 pinctrl_gpio_direction_input/output() 调用不会添加 Tegra pinctrl 操作,因为 Tegra pinmux ops 提供 GPIO request/free 处理,但不提供 gpio_set_direction hook(钩子)。

多余的调用仍然会进入 pinctrl 核心并获取 pctldev->mutex。共享的 GPIO 用户可能在持有每行自旋锁的同时调用方向路径,因此这个原本冗余的 pinctrl 方向调用可能会在原子上下文中睡眠。

这是通过我们的静态分析工具发现的,随后通过对 tegra_gpio_probe()、Tegra GPIO 方向回调函数以及 Tegra pinctrl ops 的手动审查进行了确认。经过审查的路径具有默认的不可睡眠(non-sleeping)struct gpio_chip,而方向回调函数仍然会进入 pinctrl mutex 路径。

定向运行时验证保持了相同的不可睡眠芯片注册,并驱动了以下调用链:

gpio_shared_proxy_direction_output() gpiod_direction_output_raw_commit() tegra_gpio_direction_output() pinctrl_gpio_direction_output()

Lockdep(锁依赖检测器)报告了一个在持有共享 GPIO 自旋锁且栈上有 pinctrl_get_device_gpio_range() 和 tegra_gpio_direction_output() 时的“原子上下文睡眠”警告。

不要为了掩盖此问题而将整个芯片标记为 can_sleep:can_sleep 描述 get()/set() 是否可能睡眠,而 Tegra 的值访问是 MMIO(内存映射 I/O)。移除冗余的 pinctrl 方向调用,并保留现有 request/free 路径中的 pinctrl 参与。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

来源

Do you know our Splunk app?

Download it now for free!