Re: [PATCH v2] iio: temperature: mlx90635: Fix ERR_PTR dereference in mlx90635_probe()

From: Jonathan Cameron
Date: Sun May 19 2024 - 08:30:03 EST


On Mon, 13 May 2024 13:34:27 -0700
Harshit Mogalapalli <harshit.m.mogalapalli@xxxxxxxxxx> wrote:

> When devm_regmap_init_i2c() fails, regmap_ee could be error pointer,
> instead of checking for IS_ERR(regmap_ee), regmap is checked which looks
> like a copy paste error.
>
> Fixes: a1d1ba5e1c28 ("iio: temperature: mlx90635 MLX90635 IR Temperature sensor")
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@xxxxxxxxxx>
Please make sure to pick up tags given on earlier versions. You dropped
Crt's Reviewed-by without giving a reasons. I've put it back.

Applied to the fixes-togreg branch of iio.git and marked for stable.
I'll be rebasing that on rc1 once available. Until then it won't be visible.

Thanks,

Jonathan

> ---
> This is found using smatch, only compile tested.
> v1->v2: Address Crt's comments.
> ---
> drivers/iio/temperature/mlx90635.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
> index 1f5c962c1818..f7f88498ba0e 100644
> --- a/drivers/iio/temperature/mlx90635.c
> +++ b/drivers/iio/temperature/mlx90635.c
> @@ -947,9 +947,9 @@ static int mlx90635_probe(struct i2c_client *client)
> "failed to allocate regmap\n");
>
> regmap_ee = devm_regmap_init_i2c(client, &mlx90635_regmap_ee);
> - if (IS_ERR(regmap))
> - return dev_err_probe(&client->dev, PTR_ERR(regmap),
> - "failed to allocate regmap\n");
> + if (IS_ERR(regmap_ee))
> + return dev_err_probe(&client->dev, PTR_ERR(regmap_ee),
> + "failed to allocate EEPROM regmap\n");
>
> mlx90635 = iio_priv(indio_dev);
> i2c_set_clientdata(client, indio_dev);