In the Linux kernel, the following vulnerability has been resolved:
phy: tegra: xusb: Fix unbalanced regulator disable in UTMI PHY mode
When transitioning from USBROLEDEVICE to USBROLENONE, the code assumed that the regulator should be disabled. However, if the regulator is marked as always-on, regulatorisenabled() 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 regulatordisable+0xe4/0x1a0 [ 250.155652] unbalanced disables for VINSYS5V0
To fix this, we move the regulator control logic into tegra186xusbpadctlidoverride() function since it's directly related to the ID override state. The regulator is now only disabled when the role transitions from USBROLEHOST to USBROLENONE, 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.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaa420339658615d26c1cc95cd6cf720b9aebfca",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "10561341522339340787317548920867746555",
"length": 541.0
},
"id": "CVE-2025-38535-0761f37a",
"signature_type": "Function",
"target": {
"function": "tegra186_xusb_padctl_id_override",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec7f98ff05f0649af0adeb4808c7ba23d6111ef9",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "10561341522339340787317548920867746555",
"length": 541.0
},
"id": "CVE-2025-38535-174d5b23",
"signature_type": "Function",
"target": {
"function": "tegra186_xusb_padctl_id_override",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaa420339658615d26c1cc95cd6cf720b9aebfca",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "79810074258185863681576749615498070130",
"length": 700.0
},
"id": "CVE-2025-38535-23fd1da7",
"signature_type": "Function",
"target": {
"function": "tegra186_utmi_phy_set_mode",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec7f98ff05f0649af0adeb4808c7ba23d6111ef9",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "79810074258185863681576749615498070130",
"length": 700.0
},
"id": "CVE-2025-38535-284a40a4",
"signature_type": "Function",
"target": {
"function": "tegra186_utmi_phy_set_mode",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ceb645ac6ce052609ee5c8f819a80e8881789b04",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "10561341522339340787317548920867746555",
"length": 541.0
},
"id": "CVE-2025-38535-2f481301",
"signature_type": "Function",
"target": {
"function": "tegra186_xusb_padctl_id_override",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5367cdeb75cb6c687ca468450bceb2602ab239d8",
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"114825076306734694536069796346540479615",
"272915231170674737123412270124565831649",
"148019440500956511320394025083080290071",
"142613423102526795077472850976497736456",
"184612110064068787118474585669196313902",
"233726650741198664496392952879148316424",
"117647221774433170828487067703563137361",
"65465430012770495863911041780422787402",
"291701148132359048387945055619340729081",
"163043593754197167025532560468158515832",
"99604124186280516356217041061419313410",
"72568694437241355581239279492759245841",
"154976671864054094174402642511993073392",
"151509370082033301937643384181211132358",
"286119051375926151657717681915627673696",
"210926471398989212021792274065692529371",
"109093591889842480679370048439951701095",
"237070494692608786809098290956512253122",
"295527991736852555369890743329320046887",
"130231253442954977720184424281501031221",
"324927668146785852439378722947764908074",
"34561550536277893351310561171630102420",
"12809309657142283426516247416491721727",
"338305903622712668983572922817086979683",
"222415966327127822580716776443965869048",
"11289802149535024464763531522921996108",
"328007757986450377442180142778720502626",
"81476580566332062216044608682685291900",
"336057300596334681757600710508922491405",
"87130216783110482457803252899647841126",
"150164385981997443314568931047056332535",
"182977695537235306626962810166079358179",
"49212556336650503105704673547642566159"
]
},
"id": "CVE-2025-38535-441fb390",
"signature_type": "Line",
"target": {
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdcb0ffd6448f6be898956913a42bd08e59fb2ae",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "79810074258185863681576749615498070130",
"length": 700.0
},
"id": "CVE-2025-38535-45f6d27e",
"signature_type": "Function",
"target": {
"function": "tegra186_utmi_phy_set_mode",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5367cdeb75cb6c687ca468450bceb2602ab239d8",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "79810074258185863681576749615498070130",
"length": 700.0
},
"id": "CVE-2025-38535-86dc4d68",
"signature_type": "Function",
"target": {
"function": "tegra186_utmi_phy_set_mode",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ceb645ac6ce052609ee5c8f819a80e8881789b04",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "79810074258185863681576749615498070130",
"length": 700.0
},
"id": "CVE-2025-38535-9323481c",
"signature_type": "Function",
"target": {
"function": "tegra186_utmi_phy_set_mode",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec7f98ff05f0649af0adeb4808c7ba23d6111ef9",
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"114825076306734694536069796346540479615",
"272915231170674737123412270124565831649",
"148019440500956511320394025083080290071",
"142613423102526795077472850976497736456",
"184612110064068787118474585669196313902",
"233726650741198664496392952879148316424",
"117647221774433170828487067703563137361",
"65465430012770495863911041780422787402",
"291701148132359048387945055619340729081",
"163043593754197167025532560468158515832",
"99604124186280516356217041061419313410",
"72568694437241355581239279492759245841",
"154976671864054094174402642511993073392",
"151509370082033301937643384181211132358",
"286119051375926151657717681915627673696",
"210926471398989212021792274065692529371",
"109093591889842480679370048439951701095",
"237070494692608786809098290956512253122",
"295527991736852555369890743329320046887",
"130231253442954977720184424281501031221",
"324927668146785852439378722947764908074",
"34561550536277893351310561171630102420",
"12809309657142283426516247416491721727",
"338305903622712668983572922817086979683",
"222415966327127822580716776443965869048",
"11289802149535024464763531522921996108",
"328007757986450377442180142778720502626",
"81476580566332062216044608682685291900",
"336057300596334681757600710508922491405",
"87130216783110482457803252899647841126",
"150164385981997443314568931047056332535",
"182977695537235306626962810166079358179",
"49212556336650503105704673547642566159"
]
},
"id": "CVE-2025-38535-a0b28373",
"signature_type": "Line",
"target": {
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdcb0ffd6448f6be898956913a42bd08e59fb2ae",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "10561341522339340787317548920867746555",
"length": 541.0
},
"id": "CVE-2025-38535-ac2782f8",
"signature_type": "Function",
"target": {
"function": "tegra186_xusb_padctl_id_override",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5367cdeb75cb6c687ca468450bceb2602ab239d8",
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "10561341522339340787317548920867746555",
"length": 541.0
},
"id": "CVE-2025-38535-d4d76409",
"signature_type": "Function",
"target": {
"function": "tegra186_xusb_padctl_id_override",
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ceb645ac6ce052609ee5c8f819a80e8881789b04",
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"114825076306734694536069796346540479615",
"272915231170674737123412270124565831649",
"148019440500956511320394025083080290071",
"142613423102526795077472850976497736456",
"184612110064068787118474585669196313902",
"233726650741198664496392952879148316424",
"117647221774433170828487067703563137361",
"65465430012770495863911041780422787402",
"291701148132359048387945055619340729081",
"163043593754197167025532560468158515832",
"99604124186280516356217041061419313410",
"72568694437241355581239279492759245841",
"154976671864054094174402642511993073392",
"151509370082033301937643384181211132358",
"286119051375926151657717681915627673696",
"210926471398989212021792274065692529371",
"109093591889842480679370048439951701095",
"237070494692608786809098290956512253122",
"295527991736852555369890743329320046887",
"130231253442954977720184424281501031221",
"324927668146785852439378722947764908074",
"34561550536277893351310561171630102420",
"12809309657142283426516247416491721727",
"338305903622712668983572922817086979683",
"222415966327127822580716776443965869048",
"11289802149535024464763531522921996108",
"328007757986450377442180142778720502626",
"81476580566332062216044608682685291900",
"336057300596334681757600710508922491405",
"87130216783110482457803252899647841126",
"150164385981997443314568931047056332535",
"182977695537235306626962810166079358179",
"49212556336650503105704673547642566159"
]
},
"id": "CVE-2025-38535-d83a0731",
"signature_type": "Line",
"target": {
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdcb0ffd6448f6be898956913a42bd08e59fb2ae",
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"114825076306734694536069796346540479615",
"272915231170674737123412270124565831649",
"148019440500956511320394025083080290071",
"142613423102526795077472850976497736456",
"184612110064068787118474585669196313902",
"233726650741198664496392952879148316424",
"117647221774433170828487067703563137361",
"65465430012770495863911041780422787402",
"291701148132359048387945055619340729081",
"163043593754197167025532560468158515832",
"99604124186280516356217041061419313410",
"72568694437241355581239279492759245841",
"154976671864054094174402642511993073392",
"151509370082033301937643384181211132358",
"286119051375926151657717681915627673696",
"210926471398989212021792274065692529371",
"109093591889842480679370048439951701095",
"237070494692608786809098290956512253122",
"295527991736852555369890743329320046887",
"130231253442954977720184424281501031221",
"324927668146785852439378722947764908074",
"34561550536277893351310561171630102420",
"12809309657142283426516247416491721727",
"338305903622712668983572922817086979683",
"222415966327127822580716776443965869048",
"11289802149535024464763531522921996108",
"328007757986450377442180142778720502626",
"81476580566332062216044608682685291900",
"336057300596334681757600710508922491405",
"87130216783110482457803252899647841126",
"150164385981997443314568931047056332535",
"182977695537235306626962810166079358179",
"49212556336650503105704673547642566159"
]
},
"id": "CVE-2025-38535-e2399773",
"signature_type": "Line",
"target": {
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaa420339658615d26c1cc95cd6cf720b9aebfca",
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"114825076306734694536069796346540479615",
"272915231170674737123412270124565831649",
"148019440500956511320394025083080290071",
"142613423102526795077472850976497736456",
"184612110064068787118474585669196313902",
"233726650741198664496392952879148316424",
"117647221774433170828487067703563137361",
"65465430012770495863911041780422787402",
"291701148132359048387945055619340729081",
"163043593754197167025532560468158515832",
"99604124186280516356217041061419313410",
"72568694437241355581239279492759245841",
"154976671864054094174402642511993073392",
"151509370082033301937643384181211132358",
"286119051375926151657717681915627673696",
"210926471398989212021792274065692529371",
"109093591889842480679370048439951701095",
"237070494692608786809098290956512253122",
"295527991736852555369890743329320046887",
"130231253442954977720184424281501031221",
"324927668146785852439378722947764908074",
"34561550536277893351310561171630102420",
"12809309657142283426516247416491721727",
"338305903622712668983572922817086979683",
"222415966327127822580716776443965869048",
"11289802149535024464763531522921996108",
"328007757986450377442180142778720502626",
"81476580566332062216044608682685291900",
"336057300596334681757600710508922491405",
"87130216783110482457803252899647841126",
"150164385981997443314568931047056332535",
"182977695537235306626962810166079358179",
"49212556336650503105704673547642566159"
]
},
"id": "CVE-2025-38535-f2a4cc75",
"signature_type": "Line",
"target": {
"file": "drivers/phy/tegra/xusb-tegra186.c"
}
}
]