CVE-2025-38535
published 2025-08-16CVE-2025-38535: In the Linux kernel, the following vulnerability has been resolved: phy: tegra: xusb: Fix unbalanced regulator disable in UTMI PHY mode When transitioning from…
high7.8CVSS 3.1
AVLACLPRLUINSUCHIHAH
In the Linux kernel, the following vulnerability has been resolved:
phy: tegra: xusb: Fix unbalanced regulator disable in UTMI PHY mode
When transitioning from USB_ROLE_DEVICE to USB_ROLE_NONE, the code
assumed that the regulator should be disabled. However, if the regulator
is marked as always-on, regulator_is_enabled() continues to return true,
leading to an incorrect attempt to disable a regulator which is not
enabled.
This can result in warnings such as:
[ 250.155624] WARNING: CPU: 1 PID: 7326 at drivers/regulator/core.c:3004
_regulator_disable+0xe4/0x1a0
[ 250.155652] unbalanced disables for VIN_SYS_5V0
To fix this, we move the regulator control logic into
tegra186_xusb_padctl_id_override() function since it's directly related
to the ID override state. The regulator is now only disabled when the role
transitions from USB_ROLE_HOST to USB_ROLE_NONE, by checking the VBUS_ID
register. This ensures that regulator enable/disable operations are
properly balanced and only occur when actually transitioning to/from host
mode.
Affected
35 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | linux | < linux 6.1.147-1 (bookworm) | linux 6.1.147-1 (bookworm) |
| debian | linux-6.1 | < linux 6.1.147-1 (bookworm) | linux 6.1.147-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < ceb645ac6ce052609ee5c8f819a80e8881789b04 | ceb645ac6ce052609ee5c8f819a80e8881789b04 |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < cdcb0ffd6448f6be898956913a42bd08e59fb2ae | cdcb0ffd6448f6be898956913a42bd08e59fb2ae |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < 1bb85b5c2bd43b687c3d54eb6328917f90dd38fc | 1bb85b5c2bd43b687c3d54eb6328917f90dd38fc |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < 5367cdeb75cb6c687ca468450bceb2602ab239d8 | 5367cdeb75cb6c687ca468450bceb2602ab239d8 |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < ec7f98ff05f0649af0adeb4808c7ba23d6111ef9 | ec7f98ff05f0649af0adeb4808c7ba23d6111ef9 |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < eaa420339658615d26c1cc95cd6cf720b9aebfca | eaa420339658615d26c1cc95cd6cf720b9aebfca |
| linux | linux | >= 49d46e3c7e597e8b00c6fc16e6fd7a92044f4371 < cefc1caee9dd06c69e2d807edc5949b329f52b22 | cefc1caee9dd06c69e2d807edc5949b329f52b22 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.244-1 | 5.10.244-1 |
| linux | linux_kernel | >= 0 < 6.1.147-1 | 6.1.147-1 |
| linux | linux_kernel | >= 0 < 6.12.41-1 | 6.12.41-1 |
| linux | linux_kernel | >= 0 < 6.16.3-1 | 6.16.3-1 |
| linux | linux_kernel | >= 0 < 5.15.0-163.173 | 5.15.0-163.173 |
| linux | linux_kernel | >= 0 < 6.8.0-100.100 | 6.8.0-100.100 |
| linux | linux_kernel | >= 5.11 < 5.15.190 | 5.15.190 |
| linux | linux_kernel | >= 5.16 < 6.1.147 | 6.1.147 |
| linux | linux_kernel | >= 5.7 < 5.10.241 | 5.10.241 |
| linux | linux_kernel | >= 6.13 < 6.15.8 | 6.15.8 |
| linux | linux_kernel | >= 6.2 < 6.6.100 | 6.6.100 |
| linux | linux_kernel | >= 6.7 < 6.12.40 | 6.12.40 |
| msrc | azl3_kernel_6.6.96.1-1_on_azure_linux_3.0 | — | — |
CVSS provenance
nvdv3.17.8HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
osv7.8HIGH