Description
In the Linux kernel, the following vulnerability has been resolved: gpio: sysfs: fix chip removal with GPIOs exported over sysfs Currently if we export a GPIO over sysfs and unbind the parent GPIO controller, the exported attribute will remain under /sys/class/gpio because once we remove the parent device, we can no longer associate the descriptor with it in gpiod_unexport() and never drop the final reference. Rework the teardown code: provide an unlocked variant of gpiod_unexport() and remove all exported GPIOs with the sysfs_lock taken before unregistering the parent device itself. This is done to prevent any new exports happening before we unregister the device completely.
Product status
1cd53df733c21ae0d344a2dec941a3e2a06fefd9 (git) before 54f463494eb5bf193ef7d904a493474c451734df
1cd53df733c21ae0d344a2dec941a3e2a06fefd9 (git) before a645cc25904b0baf508b77a0402ce151212b9800
1cd53df733c21ae0d344a2dec941a3e2a06fefd9 (git) before 6766f59012301f1bf3f46c6e7149caca45d92309
6.17
Any version before 6.17
6.18.16 (semver)
6.19.6 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/54f463494eb5bf193ef7d904a493474c451734df
git.kernel.org/...c/a645cc25904b0baf508b77a0402ce151212b9800
git.kernel.org/...c/6766f59012301f1bf3f46c6e7149caca45d92309