CVE-2025-38010: phy: tegra: xusb: Use a bitmask for UTMI pad power state tracking

Published Jun 18, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

phy: tegra: xusb: Use a bitmask for UTMI pad power state tracking

The current implementation uses biaspadenable as a reference count to manage the shared bias pad for all UTMI PHYs. However, during system suspension with connected USB devices, multiple power-down requests for the UTMI pad result in a mismatch in the reference count, which in turn produces warnings such as:

[ 237.762967] WARNING: CPU: 10 PID: 1618 at tegra186utmipadpowerdown+0x160/0x170 [ 237.763103] Call trace: [ 237.763104] tegra186utmipadpowerdown+0x160/0x170 [ 237.763107] tegra186utmiphypoweroff+0x10/0x30 [ 237.763110] phypoweroff+0x48/0x100 [ 237.763113] tegraxusbenterelpg+0x204/0x500 [ 237.763119] tegraxusbsuspend+0x48/0x140 [ 237.763122] platformpmsuspend+0x2c/0xb0 [ 237.763125] dpmruncallback.isra.0+0x20/0xa0 [ 237.763127] devicesuspend+0x118/0x330 [ 237.763129] dpmsuspend+0x10c/0x1f0 [ 237.763130] dpmsuspendstart+0x88/0xb0 [ 237.763132] suspenddevicesandenter+0x120/0x500 [ 237.763135] pmsuspend+0x1ec/0x270

The root cause was traced back to the dynamic power-down changes introduced in commit a30951d31b25 ("xhci: tegra: USB2 pad power controls"), where the UTMI pad was being powered down without verifying its current state. This unbalanced behavior led to discrepancies in the reference count.

To rectify this issue, this patch replaces the single reference counter with a bitmask, renamed to utmipadenabled. Each bit in the mask corresponds to one of the four USB2 PHYs, allowing us to track each pad's enablement status individually.

With this change: - The bias pad is powered on only when the mask is clear. - Each UTMI pad is powered on or down based on its corresponding bit in the mask, preventing redundant operations. - The overall power state of the shared bias pad is maintained correctly during suspend/resume cycles.

The mutex used to prevent race conditions during UTMI pad enable/disable operations has been moved from the tegra186utmibiaspadpoweron/off functions to the parent functions tegra186utmipadpoweron/down. This change ensures that there are no race conditions when updating the bitmask.

Affected Software

149 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=6.3<6.6.92
Linux Linux kernel>=6.7<6.12.30
Linux Linux kernel>=6.13<6.14.8
Linux Linux kernel=6.15-rc1
Linux Linux kernel=6.15-rc2
Linux Linux kernel=6.15-rc3
Linux Linux kernel=6.15-rc4
Linux Linux kernel=6.15-rc5
Linux Linux kernel=6.15-rc6
debian/linux<6.12.30-1
6.12.30-1
debian/linux<6.12.30-1
6.12.30-1
linux/kernel>=6.3.0<6.6.92
6.6.92
linux/kernel>=6.7.0<6.12.30
6.12.30
linux/kernel>=6.13.0<6.14.8
6.14.8
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.15-1
ubuntu/linux-hwe-edge*
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-nvidia-tegra-5.15*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-aws-6.8<6.8.0-1046.49~22.04.1
6.8.0-1046.49~22.04.1
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-6.8<6.8.0-1051.57~22.04.1
6.8.0-1051.57~22.04.1
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-azure-fde-6.8<6.8.0-1046.53~22.04.1
6.8.0-1046.53~22.04.1
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gcp-6.8<6.8.0-1047.50~22.04.2
6.8.0-1047.50~22.04.2
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-hwe-6.8<6.8.0-100.100~22.04.1
6.8.0-100.100~22.04.1
ubuntu/linux-ibm-6.8<6.8.0-1044.44~22.04.1
6.8.0-1044.44~22.04.1
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-lowlatency-hwe-6.8<6.8.0-100.100.1~22.04.1
6.8.0-100.100.1~22.04.1
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-nvidia-6.8<6.8.0-1046.49~22.04.1
6.8.0-1046.49~22.04.1
ubuntu/linux-nvidia-tegra*
ubuntu/linux-nvidia-tegra-igx*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle-6.5*
ubuntu/linux-oracle-6.8<6.8.0-1043.44~22.04.1
6.8.0-1043.44~22.04.1
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-riscv-6.8<6.8.0-100.100~22.04.1
6.8.0-100.100~22.04.1
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-realtime-6.8<6.8.1-1041.42~22.04.1
6.8.1-1041.42~22.04.1
ubuntu/linux<6.8.0-100.100
6.8.0-100.100
ubuntu/linux-aws<6.8.0-1046.49
6.8.0-1046.49
ubuntu/linux-aws-6.14<6.14.0-1011.11~24.04.1
6.14.0-1011.11~24.04.1
ubuntu/linux-azure<6.8.0-1046.52
6.8.0-1046.52
ubuntu/linux-azure-6.11*
ubuntu/linux-azure-fde<6.8.0-1046.53
6.8.0-1046.53
ubuntu/linux-azure-nvidia<6.8.0-1039.42
6.8.0-1039.42
ubuntu/linux-gcp<6.8.0-1047.50
6.8.0-1047.50
ubuntu/linux-gcp-6.11*
ubuntu/linux-gcp-6.14<6.14.0-1014.15~24.04.1
6.14.0-1014.15~24.04.1
ubuntu/linux-gke<6.8.0-1043.48
6.8.0-1043.48
ubuntu/linux-gkeop<6.8.0-1030.33
6.8.0-1030.33
ubuntu/linux-hwe-6.11*
ubuntu/linux-ibm<6.8.0-1044.44
6.8.0-1044.44
ubuntu/linux-intel*
ubuntu/linux-lowlatency<6.8.0-100.100.1
6.8.0-100.100.1
ubuntu/linux-lowlatency-hwe-6.11*
ubuntu/linux-nvidia<6.8.0-1046.49
6.8.0-1046.49
ubuntu/linux-nvidia-6.11*
ubuntu/linux-nvidia-lowlatency<6.8.0-1046.49.1
6.8.0-1046.49.1
ubuntu/linux-nvidia-tegra<6.8.0-1010.10
6.8.0-1010.10
ubuntu/linux-oem-6.11*
ubuntu/linux-oem-6.14<6.14.0-1010.10
6.14.0-1010.10
ubuntu/linux-oem-6.8*
ubuntu/linux-oracle<6.8.0-1043.44
6.8.0-1043.44
ubuntu/linux-oracle-6.14<6.14.0-1011.11~24.04.1
6.14.0-1011.11~24.04.1
ubuntu/linux-raspi<6.8.0-1047.51
6.8.0-1047.51
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-6.14<6.14.0-28.28.1~24.04.1
6.14.0-28.28.1~24.04.1
ubuntu/linux-xilinx<6.8.0-1023.24
6.8.0-1023.24
ubuntu/linux-bluefield<6.8.0-1016.20
6.8.0-1016.20
ubuntu/linux-raspi-realtime<6.8.0-2037.38
6.8.0-2037.38
ubuntu/linux-realtime<6.8.1-1041.42
6.8.1-1041.42
ubuntu/linux-realtime-6.14<6.14.0-1010.10~24.04.1
6.14.0-1010.10~24.04.1
ubuntu/linux-aws-fips<6.8.0-1046.49+fips1
6.8.0-1046.49+fips1
ubuntu/linux-azure-fips<6.8.0-1046.52+fips1
6.8.0-1046.52+fips1
ubuntu/linux-fips<6.8.0-100.100+fips1
6.8.0-100.100+fips1
ubuntu/linux-gcp-fips<6.8.0-1047.50+fips1
6.8.0-1047.50+fips1
ubuntu/linux-azure-fde*
ubuntu/linux-vmware*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.12.30-1
  2. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.6.92
  3. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.12.30
  4. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.14.8
  5. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.115-2Fixed in 7.2.15-1
  6. Upgrade

    Upgrade ubuntu/linux-aws-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.49~22.04.1
  7. Upgrade

    Upgrade ubuntu/linux-azure-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1051.57~22.04.1
  8. Upgrade

    Upgrade ubuntu/linux-azure-fde-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.53~22.04.1
  9. Upgrade

    Upgrade ubuntu/linux-gcp-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1047.50~22.04.2
  10. Upgrade

    Upgrade ubuntu/linux-hwe-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-100.100~22.04.1
  11. Upgrade

    Upgrade ubuntu/linux-ibm-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1044.44~22.04.1
  12. Upgrade

    Upgrade ubuntu/linux-lowlatency-hwe-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-100.100.1~22.04.1
  13. Upgrade

    Upgrade ubuntu/linux-nvidia-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.49~22.04.1
  14. Upgrade

    Upgrade ubuntu/linux-oracle-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-1043.44~22.04.1
  15. Upgrade

    Upgrade ubuntu/linux-riscv-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.0-100.100~22.04.1
  16. Upgrade

    Upgrade ubuntu/linux-realtime-6.8 to a version that resolves this vulnerability.

    Fixed in 6.8.1-1041.42~22.04.1
  17. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 6.8.0-100.100
  18. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.49
  19. Upgrade

    Upgrade ubuntu/linux-aws-6.14 to a version that resolves this vulnerability.

    Fixed in 6.14.0-1011.11~24.04.1
  20. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.52
  21. Upgrade

    Upgrade ubuntu/linux-azure-fde to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.53
  22. Upgrade

    Upgrade ubuntu/linux-azure-nvidia to a version that resolves this vulnerability.

    Fixed in 6.8.0-1039.42
  23. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 6.8.0-1047.50
  24. Upgrade

    Upgrade ubuntu/linux-gcp-6.14 to a version that resolves this vulnerability.

    Fixed in 6.14.0-1014.15~24.04.1
  25. Upgrade

    Upgrade ubuntu/linux-gke to a version that resolves this vulnerability.

    Fixed in 6.8.0-1043.48
  26. Upgrade

    Upgrade ubuntu/linux-gkeop to a version that resolves this vulnerability.

    Fixed in 6.8.0-1030.33
  27. Upgrade

    Upgrade ubuntu/linux-ibm to a version that resolves this vulnerability.

    Fixed in 6.8.0-1044.44
  28. Upgrade

    Upgrade ubuntu/linux-lowlatency to a version that resolves this vulnerability.

    Fixed in 6.8.0-100.100.1
  29. Upgrade

    Upgrade ubuntu/linux-nvidia to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.49
  30. Upgrade

    Upgrade ubuntu/linux-nvidia-lowlatency to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.49.1
  31. Upgrade

    Upgrade ubuntu/linux-nvidia-tegra to a version that resolves this vulnerability.

    Fixed in 6.8.0-1010.10
  32. Upgrade

    Upgrade ubuntu/linux-oem-6.14 to a version that resolves this vulnerability.

    Fixed in 6.14.0-1010.10
  33. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 6.8.0-1043.44
  34. Upgrade

    Upgrade ubuntu/linux-oracle-6.14 to a version that resolves this vulnerability.

    Fixed in 6.14.0-1011.11~24.04.1
  35. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 6.8.0-1047.51
  36. Upgrade

    Upgrade ubuntu/linux-riscv-6.14 to a version that resolves this vulnerability.

    Fixed in 6.14.0-28.28.1~24.04.1
  37. Upgrade

    Upgrade ubuntu/linux-xilinx to a version that resolves this vulnerability.

    Fixed in 6.8.0-1023.24
  38. Upgrade

    Upgrade ubuntu/linux-bluefield to a version that resolves this vulnerability.

    Fixed in 6.8.0-1016.20
  39. Upgrade

    Upgrade ubuntu/linux-raspi-realtime to a version that resolves this vulnerability.

    Fixed in 6.8.0-2037.38
  40. Upgrade

    Upgrade ubuntu/linux-realtime to a version that resolves this vulnerability.

    Fixed in 6.8.1-1041.42
  41. Upgrade

    Upgrade ubuntu/linux-realtime-6.14 to a version that resolves this vulnerability.

    Fixed in 6.14.0-1010.10~24.04.1
  42. Upgrade

    Upgrade ubuntu/linux-aws-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.49+fips1
  43. Upgrade

    Upgrade ubuntu/linux-azure-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-1046.52+fips1
  44. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-100.100+fips1
  45. Upgrade

    Upgrade ubuntu/linux-gcp-fips to a version that resolves this vulnerability.

    Fixed in 6.8.0-1047.50+fips1

Event History

Jun 18, 2025
CVE Published
via MITRE·09:28 AM
Data Sourced
via MITRE·09:28 AM
Description
Data Sourced
via OSV·09:28 AM
DescriptionAffected Software
Data Sourced
via NVD·10:15 AM
RemedyDescriptionSeverityAffected Software
Nov 11, 2026
Data Sourced
via OSV·09:38 AM
Severity

Frequently Asked Questions

1

What systems are most likely to encounter this issue?

The issue affects Linux systems using the Tegra XUSB PHY driver and UTMI PHYs. It is triggered during system suspension when USB devices are connected.

2

What access does an attacker need to exploit this vulnerability?

The supplied CVSS vector indicates local access and low privileges are required, with no user interaction. The stated impact is availability only.

3

How can administrators recognize that the system is affected?

Affected systems may emit a kernel warning during suspend involving tegra186_utmi_pad_power_down, tegra186_utmi_phy_power_off, and tegra_xusb_suspend. The condition is associated with multiple UTMI pad power-down requests causing a shared bias-pad reference-count mismatch.

4

What should be done to remediate the issue?

Apply the available Linux kernel patch. The fix replaces reference-count tracking of the shared UTMI bias pad power state with a bitmask.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203