Message ID | 20240513203427.3208696-1-harshit.m.mogalapalli@oracle.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] iio: temperature: mlx90635: Fix ERR_PTR dereference in mlx90635_probe() | expand |
On Mon, 13 May 2024 13:34:27 -0700 Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> 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@oracle.com> 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);
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@oracle.com> 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@oracle.com> > 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); >
On Sun, 19 May 2024 19:06:55 +0530 Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> wrote: > 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@oracle.com> 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@oracle.com> > > 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. It's a case of judging if they are likely to mind the changes. Here Crt had confirmed he was, so easy decision! If you drop a tag, just say why below the --- in the patch. > > 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); > > >
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);
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@oracle.com> --- 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(-)