On Jan 31 2017 or thereabouts, Dmitry Torokhov wrote:
> If device is supposed to send absolute events (i.e. EV_ABS bit is set in
> dev->evbit) but dev->absinfo is not allocated, then the driver has done
> something wrong, and we should not register such device. Otherwise we'll
> crash later, when driver tries to send absolute event.
> 
> Signed-off-by: Dmitry Torokhov <[email protected]>
> ---

Looks good to me:
Reviewed-by: Benjamin Tissoires <[email protected]>

Cheers,
Benjamin

>  drivers/input/input.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/input/input.c b/drivers/input/input.c
> index f0d2d45a68e3..4617f2db9e36 100644
> --- a/drivers/input/input.c
> +++ b/drivers/input/input.c
> @@ -2095,6 +2095,12 @@ int input_register_device(struct input_dev *dev)
>       const char *path;
>       int error;
>  
> +     if (test_bit(EV_ABS, dev->evbit) && !dev->absinfo) {
> +             dev_err(&dev->dev,
> +                     "Absolute device without dev->absinfo, refusing to 
> register\n");
> +             return -EINVAL;
> +     }
> +
>       if (dev->devres_managed) {
>               devres = devres_alloc(devm_input_device_unregister,
>                                     sizeof(struct input_devres), GFP_KERNEL);
> -- 
> 2.11.0.483.g087da7b7c-goog
> 
> 
> -- 
> Dmitry

Reply via email to