power: supply: max17040: synchronize work cancellation on suspend
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in 6bd453e328a0325f838c3bf64d4609c6c1866ed7; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in 7a9ec6707b545b2a0b35942c8b68d975cb901f77; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in dc946222e4b5bdb4e92bc3a5a5e8fc4ddac34ec0; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in 23783db5642a714f0547c5b5b0c9cdbb1be7b084; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in 5a863417fb9a1034ab1cfe4fa0de46ce1f95f3ec; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in aad7247bd35ad44af90a5e8974cdff614235b497; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in 36e6ce0f402f965328b27fd31ac793110e8a0c39; From c6f4a42de60b981dd210de01cd3e575835e3158e · fixed in 86a3a8a926aa5969c329d1df2d3259f189961bbc
- Linux Linux
2.6.31
- KernelLinux
From 2.6.31 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4
References 8
git.kernel.org
- stable/c/6bd453e328a0325f838c3bf64d4609c6c1866ed7
- stable/c/7a9ec6707b545b2a0b35942c8b68d975cb901f77
- stable/c/dc946222e4b5bdb4e92bc3a5a5e8fc4ddac34ec0
- stable/c/23783db5642a714f0547c5b5b0c9cdbb1be7b084
- stable/c/5a863417fb9a1034ab1cfe4fa0de46ce1f95f3ec
- stable/c/aad7247bd35ad44af90a5e8974cdff614235b497
- stable/c/36e6ce0f402f965328b27fd31ac793110e8a0c39
- stable/c/86a3a8a926aa5969c329d1df2d3259f189961bbc