2022-05-30 11:15:43

by baihaowen

[permalink] [raw]
Subject: [PATCH] media: atomisp-mt9m114: Fix pointer dereferenced before checking

The info->data is dereferencing before null checking, so move
it after checking.

Signed-off-by: Haowen Bai <[email protected]>
---
drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
index 00d6842c07d6..3c81ab73cdae 100644
--- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
+++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
@@ -616,13 +616,15 @@ static int mt9m114_get_intg_factor(struct i2c_client *client,
struct camera_mipi_info *info,
const struct mt9m114_res_struct *res)
{
- struct atomisp_sensor_mode_data *buf = &info->data;
+ struct atomisp_sensor_mode_data *buf;
u32 reg_val;
int ret;

if (!info)
return -EINVAL;

+ buf = &info->data;
+
ret = mt9m114_read_reg(client, MISENSOR_32BIT,
REG_PIXEL_CLK, &reg_val);
if (ret)
--
2.7.4



2022-05-31 08:26:35

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] media: atomisp-mt9m114: Fix pointer dereferenced before checking

On Mon, May 30, 2022 at 03:58:01PM +0800, Haowen Bai wrote:
> The info->data is dereferencing before null checking, so move
> it after checking.
>
> Signed-off-by: Haowen Bai <[email protected]>
> ---
> drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> index 00d6842c07d6..3c81ab73cdae 100644
> --- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> +++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> @@ -616,13 +616,15 @@ static int mt9m114_get_intg_factor(struct i2c_client *client,
> struct camera_mipi_info *info,
> const struct mt9m114_res_struct *res)
> {
> - struct atomisp_sensor_mode_data *buf = &info->data;
> + struct atomisp_sensor_mode_data *buf;

This is not a dereference, it's just doing pointer math. Not a bug.

regards,
dan carpenter


2022-06-01 10:31:25

by Tommaso Merciai

[permalink] [raw]
Subject: Re: [PATCH] media: atomisp-mt9m114: Fix pointer dereferenced before checking

On Mon, May 30, 2022 at 01:22:32PM +0200, Tommaso Merciai wrote:
> On Mon, May 30, 2022 at 03:58:01PM +0800, Haowen Bai wrote:
> > The info->data is dereferencing before null checking, so move
> > it after checking.
> >
> > Signed-off-by: Haowen Bai <[email protected]>
> > ---
> > drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> > index 00d6842c07d6..3c81ab73cdae 100644
> > --- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> > +++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> > @@ -616,13 +616,15 @@ static int mt9m114_get_intg_factor(struct i2c_client *client,
> > struct camera_mipi_info *info,
> > const struct mt9m114_res_struct *res)
> > {
> > - struct atomisp_sensor_mode_data *buf = &info->data;
> > + struct atomisp_sensor_mode_data *buf;
> > u32 reg_val;
> > int ret;
> >
> > if (!info)
> > return -EINVAL;
> >
> > + buf = &info->data;
> > +
> > ret = mt9m114_read_reg(client, MISENSOR_32BIT,
> > REG_PIXEL_CLK, &reg_val);
> > if (ret)
> > --
> > 2.7.4
> >
>
> Hi Haowen,
> Looks good to me, thanks.
>
> Reviewed-by: Tommaso Merciai <[email protected]>

Hi,
My bad, Dan is right. Nothing to fix here.
Sorry for previous review.

Regards,
Tommaso
> --
> Tommaso Merciai
> Embedded Linux Engineer
> [email protected]
> __________________________________
>
> Amarula Solutions SRL
> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> T. +39 042 243 5310
> [email protected]
> http://www.amarulasolutions.com

--
Tommaso Merciai
Embedded Linux Engineer
[email protected]
__________________________________

Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
[email protected]
http://www.amarulasolutions.com

2022-06-01 17:23:42

by Tommaso Merciai

[permalink] [raw]
Subject: Re: [PATCH] media: atomisp-mt9m114: Fix pointer dereferenced before checking

On Mon, May 30, 2022 at 03:58:01PM +0800, Haowen Bai wrote:
> The info->data is dereferencing before null checking, so move
> it after checking.
>
> Signed-off-by: Haowen Bai <[email protected]>
> ---
> drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> index 00d6842c07d6..3c81ab73cdae 100644
> --- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> +++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
> @@ -616,13 +616,15 @@ static int mt9m114_get_intg_factor(struct i2c_client *client,
> struct camera_mipi_info *info,
> const struct mt9m114_res_struct *res)
> {
> - struct atomisp_sensor_mode_data *buf = &info->data;
> + struct atomisp_sensor_mode_data *buf;
> u32 reg_val;
> int ret;
>
> if (!info)
> return -EINVAL;
>
> + buf = &info->data;
> +
> ret = mt9m114_read_reg(client, MISENSOR_32BIT,
> REG_PIXEL_CLK, &reg_val);
> if (ret)
> --
> 2.7.4
>

Hi Haowen,
Looks good to me, thanks.

Reviewed-by: Tommaso Merciai <[email protected]>
--
Tommaso Merciai
Embedded Linux Engineer
[email protected]
__________________________________

Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
[email protected]
http://www.amarulasolutions.com

2022-06-01 20:04:07

by baihaowen

[permalink] [raw]
Subject: Re: [PATCH] media: atomisp-mt9m114: Fix pointer dereferenced before checking

在 2022/5/30 下午7:37, Tommaso Merciai 写道:
> On Mon, May 30, 2022 at 01:22:32PM +0200, Tommaso Merciai wrote:
>> On Mon, May 30, 2022 at 03:58:01PM +0800, Haowen Bai wrote:
>>> The info->data is dereferencing before null checking, so move
>>> it after checking.
>>>
>>> Signed-off-by: Haowen Bai <[email protected]>
>>> ---
>>> drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
>>> index 00d6842c07d6..3c81ab73cdae 100644
>>> --- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
>>> +++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
>>> @@ -616,13 +616,15 @@ static int mt9m114_get_intg_factor(struct i2c_client *client,
>>> struct camera_mipi_info *info,
>>> const struct mt9m114_res_struct *res)
>>> {
>>> - struct atomisp_sensor_mode_data *buf = &info->data;
>>> + struct atomisp_sensor_mode_data *buf;
>>> u32 reg_val;
>>> int ret;
>>>
>>> if (!info)
>>> return -EINVAL;
>>>
>>> + buf = &info->data;
>>> +
>>> ret = mt9m114_read_reg(client, MISENSOR_32BIT,
>>> REG_PIXEL_CLK, &reg_val);
>>> if (ret)
>>> --
>>> 2.7.4
>>>
>> Hi Haowen,
>> Looks good to me, thanks.
>>
>> Reviewed-by: Tommaso Merciai <[email protected]>
> Hi,
> My bad, Dan is right. Nothing to fix here.
> Sorry for previous review.
>
> Regards,
> Tommaso
>> --
>> Tommaso Merciai
>> Embedded Linux Engineer
>> [email protected]
>> __________________________________
>>
>> Amarula Solutions SRL
>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>> T. +39 042 243 5310
>> [email protected]
>> http://www.amarulasolutions.com
hi, Dan
Thank you for pointing out. I'm clear now.

--
Haowen Bai