Description
In the Linux kernel, the following vulnerability has been resolved: gpio: xilinx: fix runtime PM leak on request error path pm_runtime_get_sync() leaves the usage counter incremented even when it fails, and xgpio_request() returns the error without dropping it. gpiolib does not call ->free() when ->request() fails, so xgpio_free(), which holds the only matching pm_runtime_put(), never runs. The reference is leaked and the controller can no longer runtime-suspend, so its clock stays enabled. Switch to pm_runtime_resume_and_get(), which only increments the usage counter on success.
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
26b04774621ed333e8bc56479feb6e31625df58c to < 3c7c764a3e933b4b32a847edeb89c8d1930613f4affected26b04774621ed333e8bc56479feb6e31625df58c to < 7fa0e73dc31f4e653918fc002d64909c83f4b020affected26b04774621ed333e8bc56479feb6e31625df58c to < b07b3925f676640103b3d74b93fc401b1c873d13affected26b04774621ed333e8bc56479feb6e31625df58c to < f73ee2bd2293f8cc340061c5229395ace71fc2ebaffected26b04774621ed333e8bc56479feb6e31625df58c to < a027e0d7765d1531ee39e4dae81951b04f32ba7baffected26b04774621ed333e8bc56479feb6e31625df58c to < 2fd6ecda5d1f47cffcfadddb35ee49402162c724affected26b04774621ed333e8bc56479feb6e31625df58c to < ff82fc3a4a1d417dee1229681cc5285986edb1faaffected
Linux Linux
Default version status: affected
5.12affected0 to < 5.12unaffected5.15.224 to ≤ 5.15.*unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.11 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/3c7c764a3e933b4b32a847edeb89c8d1930613f4 ↗
- https://git.kernel.org/stable/c/7fa0e73dc31f4e653918fc002d64909c83f4b020 ↗
- https://git.kernel.org/stable/c/b07b3925f676640103b3d74b93fc401b1c873d13 ↗
- https://git.kernel.org/stable/c/f73ee2bd2293f8cc340061c5229395ace71fc2eb ↗
- https://git.kernel.org/stable/c/a027e0d7765d1531ee39e4dae81951b04f32ba7b ↗
- https://git.kernel.org/stable/c/2fd6ecda5d1f47cffcfadddb35ee49402162c724 ↗
- https://git.kernel.org/stable/c/ff82fc3a4a1d417dee1229681cc5285986edb1fa ↗