{"api_version":"1","generated_at":"2026-06-04T13:00:02+00:00","cve":"CVE-2026-46252","urls":{"html":"https://cve.report/CVE-2026-46252","api":"https://cve.report/api/cve/CVE-2026-46252.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-46252","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-46252"},"summary":{"title":"regulator: core: fix locking in regulator_resolve_supply() error path","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nregulator: core: fix locking in regulator_resolve_supply() error path\n\nIf late enabling of a supply regulator fails in\nregulator_resolve_supply(), the code currently triggers a lockdep\nwarning:\n\n    WARNING: drivers/regulator/core.c:2649 at _regulator_put+0x80/0xa0, CPU#6: kworker/u32:4/596\n    ...\n    Call trace:\n     _regulator_put+0x80/0xa0 (P)\n     regulator_resolve_supply+0x7cc/0xbe0\n     regulator_register_resolve_supply+0x28/0xb8\n\nas the regulator_list_mutex must be held when calling _regulator_put().\n\nTo solve this, simply switch to using regulator_put().\n\nWhile at it, we should also make sure that no concurrent access happens\nto our rdev while we clear out the supply pointer. Add appropriate\nlocking to ensure that.\n\nWhile the code in question will be removed altogether in a follow-up\ncommit, I believe it is still beneficial to have this corrected before\nremoval for future reference.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-03 18:16:25","updated_at":"2026-06-03 18:16:25"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/c66e0db0f37290b53c57994f998bb55590364fd0","name":"https://git.kernel.org/stable/c/c66e0db0f37290b53c57994f998bb55590364fd0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/497330b203d2c59c5ff3fa4c34d14494d7203bc3","name":"https://git.kernel.org/stable/c/497330b203d2c59c5ff3fa4c34d14494d7203bc3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-46252","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-46252","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 36a1f1b6ddc6d1442424e29548e790633ca39c7b c66e0db0f37290b53c57994f998bb55590364fd0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 36a1f1b6ddc6d1442424e29548e790633ca39c7b 497330b203d2c59c5ff3fa4c34d14494d7203bc3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.2","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.2 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19.4 6.19.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/regulator/core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"c66e0db0f37290b53c57994f998bb55590364fd0","status":"affected","version":"36a1f1b6ddc6d1442424e29548e790633ca39c7b","versionType":"git"},{"lessThan":"497330b203d2c59c5ff3fa4c34d14494d7203bc3","status":"affected","version":"36a1f1b6ddc6d1442424e29548e790633ca39c7b","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/regulator/core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.2"},{"lessThan":"4.2","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.4","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19.4","versionStartIncluding":"4.2","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0","versionStartIncluding":"4.2","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nregulator: core: fix locking in regulator_resolve_supply() error path\n\nIf late enabling of a supply regulator fails in\nregulator_resolve_supply(), the code currently triggers a lockdep\nwarning:\n\n    WARNING: drivers/regulator/core.c:2649 at _regulator_put+0x80/0xa0, CPU#6: kworker/u32:4/596\n    ...\n    Call trace:\n     _regulator_put+0x80/0xa0 (P)\n     regulator_resolve_supply+0x7cc/0xbe0\n     regulator_register_resolve_supply+0x28/0xb8\n\nas the regulator_list_mutex must be held when calling _regulator_put().\n\nTo solve this, simply switch to using regulator_put().\n\nWhile at it, we should also make sure that no concurrent access happens\nto our rdev while we clear out the supply pointer. Add appropriate\nlocking to ensure that.\n\nWhile the code in question will be removed altogether in a follow-up\ncommit, I believe it is still beneficial to have this corrected before\nremoval for future reference."}],"providerMetadata":{"dateUpdated":"2026-06-03T15:49:48.784Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/c66e0db0f37290b53c57994f998bb55590364fd0"},{"url":"https://git.kernel.org/stable/c/497330b203d2c59c5ff3fa4c34d14494d7203bc3"}],"title":"regulator: core: fix locking in regulator_resolve_supply() error path","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-46252","datePublished":"2026-06-03T15:49:48.784Z","dateReserved":"2026-05-13T15:03:33.107Z","dateUpdated":"2026-06-03T15:49:48.784Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-03 18:16:25","lastModifiedDate":"2026-06-03 18:16:25","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"46252","Ordinal":"1","Title":"regulator: core: fix locking in regulator_resolve_supply() error","CVE":"CVE-2026-46252","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"46252","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nregulator: core: fix locking in regulator_resolve_supply() error path\n\nIf late enabling of a supply regulator fails in\nregulator_resolve_supply(), the code currently triggers a lockdep\nwarning:\n\n    WARNING: drivers/regulator/core.c:2649 at _regulator_put+0x80/0xa0, CPU#6: kworker/u32:4/596\n    ...\n    Call trace:\n     _regulator_put+0x80/0xa0 (P)\n     regulator_resolve_supply+0x7cc/0xbe0\n     regulator_register_resolve_supply+0x28/0xb8\n\nas the regulator_list_mutex must be held when calling _regulator_put().\n\nTo solve this, simply switch to using regulator_put().\n\nWhile at it, we should also make sure that no concurrent access happens\nto our rdev while we clear out the supply pointer. Add appropriate\nlocking to ensure that.\n\nWhile the code in question will be removed altogether in a follow-up\ncommit, I believe it is still beneficial to have this corrected before\nremoval for future reference.","Type":"Description","Title":"regulator: core: fix locking in regulator_resolve_supply() error"}]}}}