power: supply: max17040: synchronize work cancellation on suspend
In the Linux kernel, the following vulnerability has been resolved: power: supply: max17040: synchronize work cancellation on suspend max17040_work() requeues itself after every poll. cancel_delayed_work() only cancels a pending instance and does not wait for a callback that is already running. If system suspend races with the polling callback, the callback can continue accessing the fuel gauge and requeue itself after the suspend callback returns. Use cancel_delayed_work_sync() to ensure polling is quiesced before suspend completes.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.270, 5.15.221, 6.1.188, 6.12.109, 6.18.50, 6.6.157, 7.2.4
- CVEs
- CVE-2026-89461
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 18:52 UTC · Revision 1
Source evidence
power: supply: max17040: synchronize work cancellation on suspend
core-osv · Original sourcePublished 11 Sept 2026, 19:43 UTC
In the Linux kernel, the following vulnerability has been resolved: power: supply: max17040: synchronize work cancellation on suspend max17040_work() requeues itself after every poll. cancel_delayed_work() only cancels a pending instance and does not wait for a callback that is already running. If system suspend races with the polling callback, the callback can continue accessing the fuel gauge and requeue itself after the suspend callback returns. Use cancel_delayed_work_sync() to ensure polling is quiesced before suspend completes.
osv:CVE-2026-89461
Kernel
Fixed versions: 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50, 7.2.4
Complete source record
{
"id": "68a39104e20c2b9839d1e1021233539172c3be900bda60ae31ad13717955f903",
"url": "https://osv.dev/vulnerability/CVE-2026-89461",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "power: supply: max17040: synchronize work cancellation on suspend",
"summary": "In the Linux kernel, the following vulnerability has been resolved: power: supply: max17040: synchronize work cancellation on suspend max17040_work() requeues itself after every poll. cancel_delayed_work() only cancels a pending instance and does not wait for a callback that is already running. If system suspend races with the polling callback, the callback can continue accessing the fuel gauge and requeue itself after the suspend callback returns. Use cancel_delayed_work_sync() to ensure polling is quiesced before suspend completes.",
"evidence": "osv:CVE-2026-89461",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.270",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.221",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.188",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.157",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.109",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.50",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.4",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-89461",
"aliases": [
"CVE-2026-89461"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "c6f4a42de60b981dd210de01cd3e575835e3158e"
},
{
"fixed": "6bd453e328a0325f838c3bf64d4609c6c1866ed7"
},
{
"fixed": "7a9ec6707b545b2a0b35942c8b68d975cb901f77"
},
{
"fixed": "dc946222e4b5bdb4e92bc3a5a5e8fc4ddac34ec0"
},
{
"fixed": "23783db5642a714f0547c5b5b0c9cdbb1be7b084"
},
{
"fixed": "5a863417fb9a1034ab1cfe4fa0de46ce1f95f3ec"
},
{
"fixed": "aad7247bd35ad44af90a5e8974cdff614235b497"
},
{
"fixed": "36e6ce0f402f965328b27fd31ac793110e8a0c39"
},
{
"fixed": "86a3a8a926aa5969c329d1df2d3259f189961bbc"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89461.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.6.31"
},
{
"fixed": "5.10.270"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.221"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.188"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.157"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.109"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.50"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.4"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89461.json"
}
}
],
"modified": "2026-10-28T02:30:22.397140353Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/23783db5642a714f0547c5b5b0c9cdbb1be7b084",
"https://git.kernel.org/stable/c/36e6ce0f402f965328b27fd31ac793110e8a0c39",
"https://git.kernel.org/stable/c/5a863417fb9a1034ab1cfe4fa0de46ce1f95f3ec",
"https://git.kernel.org/stable/c/6bd453e328a0325f838c3bf64d4609c6c1866ed7",
"https://git.kernel.org/stable/c/7a9ec6707b545b2a0b35942c8b68d975cb901f77",
"https://git.kernel.org/stable/c/86a3a8a926aa5969c329d1df2d3259f189961bbc",
"https://git.kernel.org/stable/c/aad7247bd35ad44af90a5e8974cdff614235b497",
"https://git.kernel.org/stable/c/dc946222e4b5bdb4e92bc3a5a5e8fc4ddac34ec0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89461.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-89461",
"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/2026/89xxx/CVE-2026-89461.json"
}
},
"related_cves": [
{
"value": "CVE-2026-89461",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 488801,
"published_at": "2026-09-11T19:43:23.323+00:00"
}