Description
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]
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e7447128ca4a250374d6721ee98e3e3cf99551a6 to < 77a43e00c57486a5212ef22d4665cafad62a5d4baffectede7447128ca4a250374d6721ee98e3e3cf99551a6 to < 5759bbef951c39d264ac0f47daa4137d01403aeaaffectede7447128ca4a250374d6721ee98e3e3cf99551a6 to < ebffd70e4877bb7554974cf975a27872f2bb225faffectede7447128ca4a250374d6721ee98e3e3cf99551a6 to < 9b796251c3cca45a33a5c859c6818c58aa982277affectede7447128ca4a250374d6721ee98e3e3cf99551a6 to < ada667890773e033d2f40dc94176e3beb930b516affected
Linux Linux
Default version status: affected
6.4affected0 to < 6.4unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/77a43e00c57486a5212ef22d4665cafad62a5d4b ↗
- https://git.kernel.org/stable/c/5759bbef951c39d264ac0f47daa4137d01403aea ↗
- https://git.kernel.org/stable/c/ebffd70e4877bb7554974cf975a27872f2bb225f ↗
- https://git.kernel.org/stable/c/9b796251c3cca45a33a5c859c6818c58aa982277 ↗
- https://git.kernel.org/stable/c/ada667890773e033d2f40dc94176e3beb930b516 ↗