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

From: Harshit Mogalapalli
Date: Sun May 19 2024 - 09:37:45 EST


Hi Jonathan,

On 19/05/24 17:59, Jonathan Cameron wrote:
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.


Sorry, I thought we should not add tags as v1-->v2: is for addressing the reviewers(Crt's) comments.

I will keep this in mind.

Thanks,
Harshit

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);