mfd: cros_ec: Delay dev_set_drvdata() until probe success
In the Linux kernel, the following vulnerability has been resolved: mfd: cros_ec: Delay dev_set_drvdata() until probe success If ec_device_probe() fails, cros_ec_class_release releases memory for the cros_ec_dev structure. However, because the drvdata was already set, sub-drivers like cros_ec_typec can still retrieve the stale pointer via the platform device. This leads to a use-after-free when cros_ec_typec attempts to access &typec->ec->ec->dev on a device that has already been released. Move dev_set_drvdata() to ensure that the pointer is only made available once all initialization steps have succeeded. sysfs: cannot create duplicate filename '/class/chromeos/cros_ec' Call trace: sysfs_do_create_link_sd+0x94/0xdc sysfs_create_link+0x30/0x44 device_add_class_symlinks+0x90/0x13c device_add+0xf0/0x50c ec_device_probe+0x150/0x4f0 platform_probe+0xa0/0xe0 ... BUG: KASAN: invalid-access in __memcpy+0x44/0x230 Write at addr f5ffff809e2d33ac by task kworker/u32:5/125 Pointer tag: [f5], memory tag: [fe] Tainted : [W]=WARN, [O]=OOT_MODULE Hardware name: Google Navi unprovisioned 0x7FFFFFFF/sku0 board/sku3 Workqueue: events_unbound deferred_probe_work_func Call trace: __memcpy+0x44/0x230 cros_ec_check_features+0x60/0xcc [cros_ec_proto] cros_typec_probe+0xe8/0x6e0 [cros_ec_typec] platform_probe+0xa0/0xe0
CVE-2026-64420
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-64420
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "24522713034d521ea4b5f5f36342e2b2f7e73bd6",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "f7e81dc181d9fe8ab977158042cd193e8cc12091",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "257203d83204b192d1265a916b42ca0d499bb117",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "729ae27dc2503a7c1f92da1859efb45da03e4fa0",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "ed2941e5db016a0c600b25f1972620e6e223d9fa",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "b5f41d5bf08e7b1b14fa0bd640975e6d78dc006d",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "fc030c5b116f668d4ca86dca63742ddbc98d1665",
"versionType": "git"
},
{
"status": "affected",
"version": "1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b",
"lessThan": "8b2c1d41bc36c100b38ce5ee6def246c527eaf8a",
"versionType": "git"
}
],
"programFiles": [
"drivers/mfd/cros_ec_dev.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.12"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.12",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.261",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.212",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.178",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.145",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.96",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.39",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.4",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/mfd/cros_ec_dev.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-64420
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #41037 · Revision 1
- Added to Heist Feed
- Publisher date