2021-06-03 14:13:14

by Yang Yingliang

[permalink] [raw]
Subject: [PATCH -next] mfd: pm8008: Fix return value check in pm8008_probe()

In case of error, the function devm_regmap_init_i2c() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Fixes: 6b149f3310a4 ("mfd: pm8008: Add driver for QCOM PM8008 PMIC")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Yang Yingliang <[email protected]>
---
drivers/mfd/qcom-pm8008.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/qcom-pm8008.c b/drivers/mfd/qcom-pm8008.c
index c472d7f8103c..dfefa60d693b 100644
--- a/drivers/mfd/qcom-pm8008.c
+++ b/drivers/mfd/qcom-pm8008.c
@@ -223,7 +223,7 @@ static int pm8008_probe(struct i2c_client *client)
struct pm8008_data *chip;

chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
- if (!chip)
+ if (IS_ERR(chip))
return -ENOMEM;

chip->dev = &client->dev;
--
2.25.1


2021-06-03 17:20:08

by Guru Das Srinagesh

[permalink] [raw]
Subject: Re: [PATCH -next] mfd: pm8008: Fix return value check in pm8008_probe()

On Thu, Jun 03, 2021 at 10:13:57PM +0800, Yang Yingliang wrote:
> In case of error, the function devm_regmap_init_i2c() returns ERR_PTR()
> and never returns NULL. The NULL test in the return value check
> should be replaced with IS_ERR().
>
> Fixes: 6b149f3310a4 ("mfd: pm8008: Add driver for QCOM PM8008 PMIC")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Yang Yingliang <[email protected]>

Acked-by: Guru Das Srinagesh <[email protected]>

> ---
> drivers/mfd/qcom-pm8008.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mfd/qcom-pm8008.c b/drivers/mfd/qcom-pm8008.c
> index c472d7f8103c..dfefa60d693b 100644
> --- a/drivers/mfd/qcom-pm8008.c
> +++ b/drivers/mfd/qcom-pm8008.c
> @@ -223,7 +223,7 @@ static int pm8008_probe(struct i2c_client *client)
> struct pm8008_data *chip;
>
> chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
> - if (!chip)
> + if (IS_ERR(chip))
> return -ENOMEM;
>
> chip->dev = &client->dev;
> --
> 2.25.1
>

2021-06-03 17:35:43

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH -next] mfd: pm8008: Fix return value check in pm8008_probe()

On Thu, 3 Jun 2021 at 20:18, Guru Das Srinagesh <[email protected]> wrote:
>
> On Thu, Jun 03, 2021 at 10:13:57PM +0800, Yang Yingliang wrote:
> > In case of error, the function devm_regmap_init_i2c() returns ERR_PTR()
> > and never returns NULL. The NULL test in the return value check
> > should be replaced with IS_ERR().
> >
> > Fixes: 6b149f3310a4 ("mfd: pm8008: Add driver for QCOM PM8008 PMIC")
> > Reported-by: Hulk Robot <[email protected]>
> > Signed-off-by: Yang Yingliang <[email protected]>
>
> Acked-by: Guru Das Srinagesh <[email protected]>

Interestingly, the change does not correspond to the changelog
message. And the code is correct as devm_kzalloc returns NULL if I
remember correctly.

>
> > ---
> > drivers/mfd/qcom-pm8008.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/mfd/qcom-pm8008.c b/drivers/mfd/qcom-pm8008.c
> > index c472d7f8103c..dfefa60d693b 100644
> > --- a/drivers/mfd/qcom-pm8008.c
> > +++ b/drivers/mfd/qcom-pm8008.c
> > @@ -223,7 +223,7 @@ static int pm8008_probe(struct i2c_client *client)
> > struct pm8008_data *chip;
> >
> > chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
> > - if (!chip)
> > + if (IS_ERR(chip))
> > return -ENOMEM;
> >
> > chip->dev = &client->dev;
> > --
> > 2.25.1
> >



--
With best wishes
Dmitry

2021-06-03 19:07:50

by Guru Das Srinagesh

[permalink] [raw]
Subject: Re: [PATCH -next] mfd: pm8008: Fix return value check in pm8008_probe()

On Thu, Jun 03, 2021 at 08:31:28PM +0300, Dmitry Baryshkov wrote:
> On Thu, 3 Jun 2021 at 20:18, Guru Das Srinagesh <[email protected]> wrote:
> >
> > On Thu, Jun 03, 2021 at 10:13:57PM +0800, Yang Yingliang wrote:
> > > In case of error, the function devm_regmap_init_i2c() returns ERR_PTR()
> > > and never returns NULL. The NULL test in the return value check
> > > should be replaced with IS_ERR().
> > >
> > > Fixes: 6b149f3310a4 ("mfd: pm8008: Add driver for QCOM PM8008 PMIC")
> > > Reported-by: Hulk Robot <[email protected]>
> > > Signed-off-by: Yang Yingliang <[email protected]>
> >
> > Acked-by: Guru Das Srinagesh <[email protected]>
>
> Interestingly, the change does not correspond to the changelog
> message. And the code is correct as devm_kzalloc returns NULL if I
> remember correctly.

Thanks for pointing that out - I missed that. I would like to retract my
Acked-by for this patch.

>
> >
> > > ---
> > > drivers/mfd/qcom-pm8008.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/mfd/qcom-pm8008.c b/drivers/mfd/qcom-pm8008.c
> > > index c472d7f8103c..dfefa60d693b 100644
> > > --- a/drivers/mfd/qcom-pm8008.c
> > > +++ b/drivers/mfd/qcom-pm8008.c
> > > @@ -223,7 +223,7 @@ static int pm8008_probe(struct i2c_client *client)
> > > struct pm8008_data *chip;
> > >
> > > chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
> > > - if (!chip)
> > > + if (IS_ERR(chip))
> > > return -ENOMEM;
> > >
> > > chip->dev = &client->dev;
> > > --
> > > 2.25.1
> > >
>
>
>
> --
> With best wishes
> Dmitry

2021-06-04 01:30:06

by Yang Yingliang

[permalink] [raw]
Subject: Re: [PATCH -next] mfd: pm8008: Fix return value check in pm8008_probe()


On 2021/6/4 3:05, Guru Das Srinagesh wrote:
> On Thu, Jun 03, 2021 at 08:31:28PM +0300, Dmitry Baryshkov wrote:
>> On Thu, 3 Jun 2021 at 20:18, Guru Das Srinagesh <[email protected]> wrote:
>>> On Thu, Jun 03, 2021 at 10:13:57PM +0800, Yang Yingliang wrote:
>>>> In case of error, the function devm_regmap_init_i2c() returns ERR_PTR()
>>>> and never returns NULL. The NULL test in the return value check
>>>> should be replaced with IS_ERR().
>>>>
>>>> Fixes: 6b149f3310a4 ("mfd: pm8008: Add driver for QCOM PM8008 PMIC")
>>>> Reported-by: Hulk Robot <[email protected]>
>>>> Signed-off-by: Yang Yingliang <[email protected]>
>>> Acked-by: Guru Das Srinagesh <[email protected]>
>> Interestingly, the change does not correspond to the changelog
>> message. And the code is correct as devm_kzalloc returns NULL if I
>> remember correctly.
My bad, I sent a wong patch, I will send a new one.

Thanks,
Yang
> Thanks for pointing that out - I missed that. I would like to retract my
> Acked-by for this patch.
>
>>>> ---
>>>> drivers/mfd/qcom-pm8008.c | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/mfd/qcom-pm8008.c b/drivers/mfd/qcom-pm8008.c
>>>> index c472d7f8103c..dfefa60d693b 100644
>>>> --- a/drivers/mfd/qcom-pm8008.c
>>>> +++ b/drivers/mfd/qcom-pm8008.c
>>>> @@ -223,7 +223,7 @@ static int pm8008_probe(struct i2c_client *client)
>>>> struct pm8008_data *chip;
>>>>
>>>> chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
>>>> - if (!chip)
>>>> + if (IS_ERR(chip))
>>>> return -ENOMEM;
>>>>
>>>> chip->dev = &client->dev;
>>>> --
>>>> 2.25.1
>>>>
>>
>>
>> --
>> With best wishes
>> Dmitry
> .