CVE-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 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.
CVSS

No CVSS.

Configurations

No configuration.

History

18 Aug 2025, 20:16

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: phy: tegra: xusb: Corregir la desactivación del regulador desequilibrado en el modo UTMI PHY Al realizar la transición de USB_ROLE_DEVICE a USB_ROLE_NONE, el código asumía que el regulador debía estar desactivado. Sin embargo, si el regulador está marcado como siempre activo, regulator_is_enabled() sigue devolviendo verdadero, lo que lleva a un intento incorrecto de desactivar un regulador que no está activado. Esto puede generar advertencias como: [ 250.155624] ADVERTENCIA: CPU: 1 PID: 7326 en drivers/regulator/core.c:3004 _regulator_disable+0xe4/0x1a0 [ 250.155652] desactivaciones desequilibradas para VIN_SYS_5V0 Para solucionar esto, movemos la lógica de control del regulador a la función tegra186_xusb_padctl_id_override() ya que está directamente relacionada con el estado de anulación de ID. El regulador ahora solo se desactiva cuando el rol cambia de USB_ROLE_HOST a USB_ROLE_NONE, mediante la comprobación del registro VBUS_ID. Esto garantiza que las operaciones de activación/desactivación del regulador estén correctamente equilibradas y solo se produzcan al cambiar al modo host o viceversa.

16 Aug 2025, 12:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-08-16 12:15

Updated : 2025-08-18 20:16


NVD link : CVE-2025-38535

Mitre link : CVE-2025-38535

CVE.ORG link : CVE-2025-38535


JSON object : View

Products Affected

No product.

CWE

No CWE.