regulator: core: fix use_count leakage when handling boot-on
In the Linux kernel, the following vulnerability has been resolved: regulator: core: fix use_count leakage when handling boot-on I found a use_count leakage towards supply regulator of rdev with boot-on option. ┌───────────────────┐ ┌───────────────────┐ │ regulator_dev A │ │ regulator_dev B │ │ (boot-on) │ │ (boot-on) │ │ use_count=0 │◀──supply──│ use_count=1 │ │ │ │ │ └───────────────────┘ └───────────────────┘ In case of rdev(A) configured with `regulator-boot-on', the use_count of supplying regulator(B) will increment inside regulator_enable(rdev->supply). Thus, B will acts like always-on, and further balanced regulator_enable/disable cannot actually disable it anymore. However, B was also configured with `regulator-boot-on', we wish it could be disabled afterwards.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 4.19.270, 5.10.163, 5.15.86, 5.4.229, 6.0.16, 6.1.2
- CVEs
- CVE-2022-50250
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 06:52 UTC · Revision 1
Source evidence
regulator: core: fix use_count leakage when handling boot-on
core-osv · Original sourcePublished 15 Sept 2025, 14:02 UTC
In the Linux kernel, the following vulnerability has been resolved: regulator: core: fix use_count leakage when handling boot-on I found a use_count leakage towards supply regulator of rdev with boot-on option. ┌───────────────────┐ ┌───────────────────┐ │ regulator_dev A │ │ regulator_dev B │ │ (boot-on) │ │ (boot-on) │ │ use_count=0 │◀──supply──│ use_count=1 │ │ │ │ │ └───────────────────┘ └───────────────────┘ In case of rdev(A) configured with `regulator-boot-on', the use_count of supplying regulator(B) will increment inside regulator_enable(rdev->supply). Thus, B will acts like always-on, and further balanced regulator_enable/disable cannot actually disable it anymore. However, B was also configured with `regulator-boot-on', we wish it could be disabled afterwards.
osv:CVE-2022-50250
Kernel
Fixed versions: 4.19.270, 5.4.229, 5.10.163, 5.15.86, 6.0.16, 6.1.2
Complete source record
{
"id": "2e1b96228c93c4e5e0a283a17dde481778f2c1761df56be495543b06e2ccf00c",
"url": "https://osv.dev/vulnerability/CVE-2022-50250",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "regulator: core: fix use_count leakage when handling boot-on",
"summary": "In the Linux kernel, the following vulnerability has been resolved: regulator: core: fix use_count leakage when handling boot-on I found a use_count leakage towards supply regulator of rdev with boot-on option. ┌───────────────────┐ ┌───────────────────┐ │ regulator_dev A │ │ regulator_dev B │ │ (boot-on) │ │ (boot-on) │ │ use_count=0 │◀──supply──│ use_count=1 │ │ │ │ │ └───────────────────┘ └───────────────────┘ In case of rdev(A) configured with `regulator-boot-on', the use_count of supplying regulator(B) will increment inside regulator_enable(rdev->supply). Thus, B will acts like always-on, and further balanced regulator_enable/disable cannot actually disable it anymore. However, B was also configured with `regulator-boot-on', we wish it could be disabled afterwards.",
"evidence": "osv:CVE-2022-50250",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "4.19.270",
"evidence": "/affected/1/ranges"
},
{
"value": "5.4.229",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.163",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.86",
"evidence": "/affected/1/ranges"
},
{
"value": "6.0.16",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.2",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2022-50250",
"aliases": [
"CVE-2022-50250"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "dc1b1d7faf616ed663d0bba9be5abb4d1ed35d01"
},
{
"fixed": "dc3391d49479bc2bf8a2b88dbf86fdd800882fee"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "f44b07472f29ae313ce875dc7b9c75b100c608b8"
},
{
"fixed": "5bfc53df288e8ea54ca6866fb92034214940183f"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "089b3f61ecfc43ca4ea26d595e1d31ead6de3f7b"
},
{
"fixed": "4b737246ff50f810d6ab4be13c1388a07f0c14b1"
},
{
"fixed": "feb847e6591e8c7a09cc39721cc9ca74fd9a5d80"
},
{
"fixed": "4dd6e1cc9c7403f1ee1b7eee85bc31b797ae8347"
},
{
"fixed": "bc6c381df5793ebcf32db88a3e65acf7870379fc"
},
{
"fixed": "0591b14ce0398125439c759f889647369aa616a0"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4.19.226"
},
{
"fixed": "4.19.270"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.4.7"
},
{
"fixed": "5.4.229"
}
]
}
],
"versions": [
"v4.19.269",
"v4.19.268",
"v4.19.267",
"v4.19.266",
"v4.19.265",
"v4.19.264",
"v4.19.263",
"v4.19.262",
"v4.19.261",
"v4.19.260",
"v4.19.259",
"v4.19.258",
"v4.19.257",
"v4.19.256",
"v4.19.255",
"v4.19.254",
"v4.19.253",
"v4.19.252",
"v4.19.251",
"v4.19.250",
"v4.19.249",
"v4.19.248",
"v4.19.247",
"v4.19.246",
"v4.19.245",
"v4.19.244",
"v4.19.243",
"v4.19.242",
"v4.19.241",
"v4.19.240",
"v4.19.239",
"v4.19.238",
"v4.19.237",
"v4.19.236",
"v4.19.235",
"v4.19.234",
"v4.19.233",
"v4.19.232",
"v4.19.231",
"v4.19.230",
"v4.19.229",
"v4.19.228",
"v4.19.227",
"v4.19.226",
"v5.4.228",
"v5.4.227",
"v5.4.226",
"v5.4.225",
"v5.4.224",
"v5.4.223",
"v5.4.222",
"v5.4.221",
"v5.4.220",
"v5.4.219",
"v5.4.218",
"v5.4.217",
"v5.4.216",
"v5.4.215",
"v5.4.214",
"v5.4.213",
"v5.4.212",
"v5.4.211",
"v5.4.210",
"v5.4.209",
"v5.4.208",
"v5.4.207",
"v5.4.206",
"v5.4.205",
"v5.4.204",
"v5.4.203",
"v5.4.202",
"v5.4.201",
"v5.4.200",
"v5.4.199",
"v5.4.198",
"v5.4.197",
"v5.4.196",
"v5.4.195",
"v5.4.194",
"v5.4.193",
"v5.4.192",
"v5.4.191",
"v5.4.190",
"v5.4.189",
"v5.4.188",
"v5.4.187",
"v5.4.186",
"v5.4.185",
"v5.4.184",
"v5.4.183",
"v5.4.182",
"v5.4.181",
"v5.4.180",
"v5.4.179",
"v5.4.178",
"v5.4.177",
"v5.4.176",
"v5.4.175",
"v5.4.174",
"v5.4.173",
"v5.4.172",
"v5.4.171",
"v5.4.170",
"v5.4.169",
"v5.4.168",
"v5.4.167",
"v5.4.166",
"v5.4.165",
"v5.4.164",
"v5.4.163",
"v5.4.162",
"v5.4.161",
"v5.4.160",
"v5.4.159",
"v5.4.158",
"v5.4.157",
"v5.4.156",
"v5.4.155",
"v5.4.154",
"v5.4.153",
"v5.4.152",
"v5.4.151",
"v5.4.150",
"v5.4.149",
"v5.4.148",
"v5.4.147",
"v5.4.146",
"v5.4.145",
"v5.4.144",
"v5.4.143",
"v5.4.142",
"v5.4.141",
"v5.4.140",
"v5.4.139",
"v5.4.138",
"v5.4.137",
"v5.4.136",
"v5.4.135",
"v5.4.134",
"v5.4.133",
"v5.4.132",
"v5.4.131",
"v5.4.130",
"v5.4.129",
"v5.4.128",
"v5.4.127",
"v5.4.126",
"v5.4.125",
"v5.4.124",
"v5.4.123",
"v5.4.122",
"v5.4.121",
"v5.4.120",
"v5.4.119",
"v5.4.118",
"v5.4.117",
"v5.4.116",
"v5.4.115",
"v5.4.114",
"v5.4.113",
"v5.4.112",
"v5.4.111",
"v5.4.110",
"v5.4.109",
"v5.4.108",
"v5.4.107",
"v5.4.106",
"v5.4.105",
"v5.4.104",
"v5.4.103",
"v5.4.102",
"v5.4.101",
"v5.4.100",
"v5.4.99",
"v5.4.98",
"v5.4.97",
"v5.4.96",
"v5.4.95",
"v5.4.94",
"v5.4.93",
"v5.4.92",
"v5.4.91",
"v5.4.90",
"v5.4.89",
"v5.4.88",
"v5.4.87",
"v5.4.86",
"v5.4.85",
"v5.4.84",
"v5.4.83",
"v5.4.82",
"v5.4.81",
"v5.4.80",
"v5.4.79",
"v5.4.78",
"v5.4.77",
"v5.4.76",
"v5.4.75",
"v5.4.74",
"v5.4.73",
"v5.4.72",
"v5.4.71",
"v5.4.70",
"v5.4.69",
"v5.4.68",
"v5.4.67",
"v5.4.66",
"v5.4.65",
"v5.4.64",
"v5.4.63",
"v5.4.62",
"v5.4.61",
"v5.4.60",
"v5.4.59",
"v5.4.58",
"v5.4.57",
"v5.4.56",
"v5.4.55",
"v5.4.54",
"v5.4.53",
"v5.4.52",
"v5.4.51",
"v5.4.50",
"v5.4.49",
"v5.4.48",
"v5.4.47",
"v5.4.46",
"v5.4.45",
"v5.4.44",
"v5.4.43",
"v5.4.42",
"v5.4.41",
"v5.4.40",
"v5.4.39",
"v5.4.38",
"v5.4.37",
"v5.4.36",
"v5.4.35",
"v5.4.34",
"v5.4.33",
"v5.4.32",
"v5.4.31",
"v5.4.30",
"v5.4.29",
"v5.4.28",
"v5.4.27",
"v5.4.26",
"v5.4.25",
"v5.4.24",
"v5.4.23",
"v5.4.22",
"v5.4.21",
"v5.4.20",
"v5.4.19",
"v5.4.18",
"v5.4.17",
"v5.4.16",
"v5.4.15",
"v5.4.14",
"v5.4.13",
"v5.4.12",
"v5.4.11",
"v5.4.10",
"v5.4.9",
"v5.4.8",
"v5.4.7"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50250.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "4.19.270"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.20.0"
},
{
"fixed": "5.4.229"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.163"
},
{
"fixed": "5.15.86"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "6.0.16"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.2"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50250.json"
}
}
],
"modified": "2026-10-28T02:30:26.681808735Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/0591b14ce0398125439c759f889647369aa616a0",
"https://git.kernel.org/stable/c/4b737246ff50f810d6ab4be13c1388a07f0c14b1",
"https://git.kernel.org/stable/c/4dd6e1cc9c7403f1ee1b7eee85bc31b797ae8347",
"https://git.kernel.org/stable/c/5bfc53df288e8ea54ca6866fb92034214940183f",
"https://git.kernel.org/stable/c/bc6c381df5793ebcf32db88a3e65acf7870379fc",
"https://git.kernel.org/stable/c/dc3391d49479bc2bf8a2b88dbf86fdd800882fee",
"https://git.kernel.org/stable/c/feb847e6591e8c7a09cc39721cc9ca74fd9a5d80",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50250.json",
"https://nvd.nist.gov/vuln/detail/CVE-2022-50250",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50250.json"
}
},
"related_cves": [
{
"value": "CVE-2022-50250",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 493145,
"published_at": "2025-09-15T14:02:10.117+00:00"
}