iio: light: gp2ap002: Fix unbalanced runtime PM on repeated event writes
- 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.110, 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: iio: light: gp2ap002: Fix unbalanced runtime PM on repeated event writes The IIO core does not filter duplicate writes to the event enable attribute, so writing the same value twice invokes write_event_config() twice. Enabling twice leaks a runtime PM reference, preventing the device from ever suspending again; disabling twice underflows the usage count and triggers a "Runtime PM usage count underflow" warning. Bail out early when the requested state matches the current state. While at it, switch to pm_runtime_resume_and_get() so a failed resume is propagated to userspace instead of silently marking the event enabled.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in b2d7a97d75b648a643f60d77f4d6d70161268855; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 685d9d1e5c47e024413981fb7eddab86132b04a1; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 56fe8e5f313a64e458bb6f8b982de925345e21a7; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 8e76ab81319858736ccf23141e9415f9a1869337; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 70b9482926ca92862460e659f5e5fde99ae0b4fa; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 0fc740c25c9abb25113398ebb58e2f2ce57741a7; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 470edb012b1d9a4fba1cd59e329e60f0798c791a; From 97d642e23037c5545266f9564c9b81e6db81b122 · fixed in 579c049b4cb6fc72ce2c505fc5334540be0efcd3
- Linux Linux
5.7
- KernelLinux
From 5.7.0 · 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.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6
References 8
git.kernel.org
- stable/c/b2d7a97d75b648a643f60d77f4d6d70161268855
- stable/c/685d9d1e5c47e024413981fb7eddab86132b04a1
- stable/c/56fe8e5f313a64e458bb6f8b982de925345e21a7
- stable/c/8e76ab81319858736ccf23141e9415f9a1869337
- stable/c/70b9482926ca92862460e659f5e5fde99ae0b4fa
- stable/c/0fc740c25c9abb25113398ebb58e2f2ce57741a7
- stable/c/470edb012b1d9a4fba1cd59e329e60f0798c791a
- stable/c/579c049b4cb6fc72ce2c505fc5334540be0efcd3