Re: [PATCH] Input: refuse to register absolute devices without absinfo

From: Benjamin Tissoires
Date: Wed Feb 01 2017 - 03:35:54 EST


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 <dmitry.torokhov@xxxxxxxxx>
> ---

Looks good to me:
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>

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