Description
In the Linux kernel, the following vulnerability has been resolved: gpiolib: cdev: fix NULL-pointer dereferences There are several places where we can crash the kernel by requesting lines, unbinding the GPIO device, then calling any of the system calls relevant to the GPIO character device's annonymous file descriptors: ioctl(), read(), poll(). While I observed it with the GPIO simulator, it will also happen for any of the GPIO devices that can be hot-unplugged - for instance any HID GPIO expander (e.g. CP2112). This affects both v1 and v2 uAPI. This fixes it partially by checking if gdev->chip is not NULL but it doesn't entirely remedy the situation as we still have a race condition in which another thread can remove the device after the check.
Product status
d7c51b47ac11e66f547b55640405c1c474642d72 before 6d79546622baab843172b52c3af035f83c1b21df
d7c51b47ac11e66f547b55640405c1c474642d72 before 7c755a2d6df511eeb5afba966ac28140f9ea5063
d7c51b47ac11e66f547b55640405c1c474642d72 before d66f68ac9e7ba46b6b90fbe25155723f2126088a
d7c51b47ac11e66f547b55640405c1c474642d72 before ac6ce3cd7a3e10a2e37b8970bab81b4d33d5cfc3
d7c51b47ac11e66f547b55640405c1c474642d72 before 533aae7c94dbc2b14301cfd68ae7e0e90f0c8438
4.8
Any version before 4.8
5.10.163
5.15.86
6.0.16
6.1.2
6.2
References
git.kernel.org/...c/6d79546622baab843172b52c3af035f83c1b21df
git.kernel.org/...c/7c755a2d6df511eeb5afba966ac28140f9ea5063
git.kernel.org/...c/d66f68ac9e7ba46b6b90fbe25155723f2126088a
git.kernel.org/...c/ac6ce3cd7a3e10a2e37b8970bab81b4d33d5cfc3
git.kernel.org/...c/533aae7c94dbc2b14301cfd68ae7e0e90f0c8438