]> git.baikalelectronics.ru Git - kernel.git/commit
gpio: fix NULL-deref-on-deregistration regression
authorJohan Hovold <johan@kernel.org>
Mon, 1 Mar 2021 09:05:18 +0000 (10:05 +0100)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 8 Mar 2021 10:59:17 +0000 (11:59 +0100)
commitfb231d25d1069fa4305126defb921976e44ef480
tree38fa3e70278fe1c3624f6fd90240f78355de72ad
parent7c7e0626f2351b6a18216ef4562567cb4af63bbe
gpio: fix NULL-deref-on-deregistration regression

Fix a NULL-pointer deference when deregistering the gpio character
device that was introduced by the recent stub-driver hack. When the new
"driver" is unbound as part of deregistration, driver core clears the
driver-data pointer which is used to retrieve the struct gpio_device in
its release callback.

Fix this by using container_of() in the release callback as should have
been done all along.

Fixes: ae388176217f ("gpiolib: Bind gpio_device to a driver to enable fw_devlink=on by default")
Cc: Saravana Kannan <saravanak@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reported-by: syzbot+d27b4c8adbbff70fbfde@syzkaller.appspotmail.com
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpiolib.c