drm/bridge: samsung-dsim: fix TE GPIO lifetime for host attach
- 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 6.6.158, 6.12.112, 6.18.55, 7.2.9
- 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: drm/bridge: samsung-dsim: fix TE GPIO lifetime for host attach When the Exynos DSI driver was generalized into samsung-dsim, the TE GPIO acquisition was switched from gpiod_get_optional() to devm_gpiod_get_optional() while keeping the matching gpiod_put() calls. That combination is wrong for a managed descriptor. However, dropping the puts and keeping the managed get is also wrong: samsung_dsim_register_te_irq() runs from the DSI host attach callback, and host detach/reattach can happen without destroying the device that owns the managed action. A second attach would then request the GPIO again without having released it. Switch back to a non-managed gpiod_get_optional() and keep the explicit gpiod_put() on the request_irq() error path and in samsung_dsim_unregister_te_irq(). [Luca: remove unnecessary comment]
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e7447128ca4a250374d6721ee98e3e3cf99551a6 · fixed in 77a43e00c57486a5212ef22d4665cafad62a5d4b; From e7447128ca4a250374d6721ee98e3e3cf99551a6 · fixed in 5759bbef951c39d264ac0f47daa4137d01403aea; From e7447128ca4a250374d6721ee98e3e3cf99551a6 · fixed in ebffd70e4877bb7554974cf975a27872f2bb225f; From e7447128ca4a250374d6721ee98e3e3cf99551a6 · fixed in 9b796251c3cca45a33a5c859c6818c58aa982277; From e7447128ca4a250374d6721ee98e3e3cf99551a6 · fixed in ada667890773e033d2f40dc94176e3beb930b516
- Linux Linux
6.4
- KernelLinux
From 6.4.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9