• Johan Hovold's avatar
    gpio: fix NULL-deref-on-deregistration regression · a6112998
    Johan Hovold authored
    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: 4731210c ("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: default avatarJohan Hovold <johan@kernel.org>
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    a6112998
gpiolib.c 118 KB