• Krzysztof Kozlowski's avatar
    iio: adc: exynos-adc: Fix NULL pointer exception on unbind · 2ea8bab4
    Krzysztof Kozlowski authored
    Fix NULL pointer exception on device unbind when device tree does not
    contain "has-touchscreen" property.  In such case the input device is
    not registered so it should not be unregistered.
    
        $ echo "12d10000.adc" > /sys/bus/platform/drivers/exynos-adc/unbind
    
        Unable to handle kernel NULL pointer dereference at virtual address 00000474
        ...
        (input_unregister_device) from [<c0772060>] (exynos_adc_remove+0x20/0x80)
        (exynos_adc_remove) from [<c0587d5c>] (platform_drv_remove+0x20/0x40)
        (platform_drv_remove) from [<c05860f0>] (device_release_driver_internal+0xdc/0x1ac)
        (device_release_driver_internal) from [<c0583ecc>] (unbind_store+0x60/0xd4)
        (unbind_store) from [<c031b89c>] (kernfs_fop_write+0x100/0x1e0)
        (kernfs_fop_write) from [<c029709c>] (__vfs_write+0x2c/0x17c)
        (__vfs_write) from [<c0297374>] (vfs_write+0xa4/0x184)
        (vfs_write) from [<c0297594>] (ksys_write+0x4c/0xac)
        (ksys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x28)
    
    Fixes: 2bb8ad9b ("iio: exynos-adc: add experimental touchscreen support")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    2ea8bab4
exynos_adc.c 24.5 KB