In the Linux kernel, the following vulnerability has been resolved:
ASoC: codecs: wcd9335: Fix missing free of regulator supplies
Driver gets and enables all regulator supplies in probe path (wcd9335parsedt() and wcd9335poweron_reset()), but does not cleanup in final error paths and in unbind (missing remove() callback). This leads to leaked memory and unbalanced regulator enable count during probe errors or unbind.
Fix this by converting entire code into devmregulatorbulkgetenable() which also greatly simplifies the code.
[
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9079db287fc3e38e040b0edeb0a25770bb679c8e",
"signature_type": "Function",
"digest": {
"function_hash": "15325430166378164200962358466521909479",
"length": 1011.0
},
"target": {
"function": "wcd9335_parse_dt",
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-03b97780"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a8795f3cd289cd958f6396a1b43ba46fa8e22a2e",
"signature_type": "Function",
"digest": {
"function_hash": "15325430166378164200962358466521909479",
"length": 1011.0
},
"target": {
"function": "wcd9335_parse_dt",
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-4bf6c230"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9079db287fc3e38e040b0edeb0a25770bb679c8e",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"312198809736936866916296143020085551371",
"5544253818214344013476452448957665821",
"39918493943354883384895062645934693765",
"87375556531445485970227097099508159440",
"259936460424672991902847323190642367782",
"148193936676227730810226404808135874168",
"65530627206850258164150011137063807404",
"28677573126918544289244376106985438498",
"286827854575310233452550033835851643299",
"191508215026625098244457360714964037846",
"216569730550907846960588336114860681035",
"328765627070349106837264351414518782445",
"119702815654453611670518533930706362486",
"204997273543658948911803153728411440043",
"180542105929539056219549726005216542327",
"333833720600381691925881992098367445229",
"250824897212623925170118006531677875335",
"2892371107230135154029059367081335921",
"87066295388803758993018786510662072406",
"69808371219035081974913380639274871375",
"18918455139661293975626718880555654261",
"108616140078812597291681760452571607687",
"89991772837423133706225172684656189401",
"186091088156086764997427530862602424003",
"95135112088083308477715136714835927739",
"80206230019596700926262870209913504428",
"173116674976629249564725253169420534809",
"63210637859006801596781358796096787562",
"77673310014795456717526322526259908027"
]
},
"target": {
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-60d70d91"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a",
"signature_type": "Function",
"digest": {
"function_hash": "15325430166378164200962358466521909479",
"length": 1011.0
},
"target": {
"function": "wcd9335_parse_dt",
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-77e3d766"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a",
"signature_type": "Function",
"digest": {
"function_hash": "294957489536889130221243840523604702205",
"length": 386.0
},
"target": {
"function": "wcd9335_power_on_reset",
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-81794a2c"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a8795f3cd289cd958f6396a1b43ba46fa8e22a2e",
"signature_type": "Function",
"digest": {
"function_hash": "294957489536889130221243840523604702205",
"length": 386.0
},
"target": {
"function": "wcd9335_power_on_reset",
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-a7e2641f"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"312198809736936866916296143020085551371",
"5544253818214344013476452448957665821",
"39918493943354883384895062645934693765",
"87375556531445485970227097099508159440",
"259936460424672991902847323190642367782",
"148193936676227730810226404808135874168",
"65530627206850258164150011137063807404",
"28677573126918544289244376106985438498",
"286827854575310233452550033835851643299",
"191508215026625098244457360714964037846",
"216569730550907846960588336114860681035",
"328765627070349106837264351414518782445",
"119702815654453611670518533930706362486",
"204997273543658948911803153728411440043",
"180542105929539056219549726005216542327",
"333833720600381691925881992098367445229",
"250824897212623925170118006531677875335",
"2892371107230135154029059367081335921",
"87066295388803758993018786510662072406",
"69808371219035081974913380639274871375",
"18918455139661293975626718880555654261",
"108616140078812597291681760452571607687",
"89991772837423133706225172684656189401",
"186091088156086764997427530862602424003",
"95135112088083308477715136714835927739",
"80206230019596700926262870209913504428",
"173116674976629249564725253169420534809",
"63210637859006801596781358796096787562",
"77673310014795456717526322526259908027"
]
},
"target": {
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-d5a1e253"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9079db287fc3e38e040b0edeb0a25770bb679c8e",
"signature_type": "Function",
"digest": {
"function_hash": "294957489536889130221243840523604702205",
"length": 386.0
},
"target": {
"function": "wcd9335_power_on_reset",
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-ddfd7193"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a8795f3cd289cd958f6396a1b43ba46fa8e22a2e",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"312198809736936866916296143020085551371",
"5544253818214344013476452448957665821",
"39918493943354883384895062645934693765",
"87375556531445485970227097099508159440",
"259936460424672991902847323190642367782",
"148193936676227730810226404808135874168",
"65530627206850258164150011137063807404",
"28677573126918544289244376106985438498",
"286827854575310233452550033835851643299",
"191508215026625098244457360714964037846",
"216569730550907846960588336114860681035",
"328765627070349106837264351414518782445",
"119702815654453611670518533930706362486",
"204997273543658948911803153728411440043",
"180542105929539056219549726005216542327",
"333833720600381691925881992098367445229",
"250824897212623925170118006531677875335",
"2892371107230135154029059367081335921",
"87066295388803758993018786510662072406",
"69808371219035081974913380639274871375",
"18918455139661293975626718880555654261",
"108616140078812597291681760452571607687",
"89991772837423133706225172684656189401",
"186091088156086764997427530862602424003",
"95135112088083308477715136714835927739",
"80206230019596700926262870209913504428",
"173116674976629249564725253169420534809",
"63210637859006801596781358796096787562",
"77673310014795456717526322526259908027"
]
},
"target": {
"file": "sound/soc/codecs/wcd9335.c"
},
"id": "CVE-2025-38259-e2d36202"
}
]