diff mbox series

platform/mellanox: mlxreg-lc: Check before variable dereferenced

Message ID 20231130094409.3963-1-u202112062@hust.edu.cn (mailing list archive)
State Changes Requested, archived
Headers show
Series platform/mellanox: mlxreg-lc: Check before variable dereferenced | expand

Commit Message

Yu Sun Nov. 30, 2023, 9:44 a.m. UTC
there is a warning saying variable dereferenced before
check 'data->notifier' in line 828.
add "for(data->notifier)" before variable deferenced.

Signed-off-by: Yu Sun <u202112062@hust.edu.cn>
Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
Reviewed-by: Dan Carpenter <error27@gmail.com>
---
 drivers/platform/mellanox/mlxreg-lc.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Dan Carpenter Nov. 30, 2023, 11:47 a.m. UTC | #1
On Thu, Nov 30, 2023 at 05:44:07PM +0800, Yu Sun wrote:
> there is a warning saying variable dereferenced before
> check 'data->notifier' in line 828.
> add "for(data->notifier)" before variable deferenced.
       ^^^
Should have been "if (data->notifier)".

> 
> Signed-off-by: Yu Sun <u202112062@hust.edu.cn>
> Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
> Reviewed-by: Dan Carpenter <error27@gmail.com>

I didn't really explicitly give a Reviewed-by tag for this patch.
https://groups.google.com/g/hust-os-kernel-patches/c/c5hUaYIDcII/m/h4aFS7PkCQAJ
I also said that I thought it looked correct but that it needed a Fixes:
tag however the Fixes tag I suggested was wrong.

Looking at it now, the correct Fixes tag would be:
Fixes: 1c8ee06b637f ("platform/mellanox: Remove unnecessary code")

That commit says that the NULL check is not required.  So now I'm
confused.  On the one hand, the impulse is to trust the maintainer, but
on the other hand my review suggested that the NULL check might be
required.

regards,
dan carpenter
Vadim Pasternak Nov. 30, 2023, 4:24 p.m. UTC | #2
Hi Dan,

> -----Original Message-----
> From: Dan Carpenter <dan.carpenter@linaro.org>
> Sent: Thursday, 30 November 2023 13:47
> To: Yu Sun <u202112062@hust.edu.cn>
> Cc: Hans de Goede <hdegoede@redhat.com>; Ilpo Järvinen
> <ilpo.jarvinen@linux.intel.com>; Mark Gross <markgross@kernel.org>; Vadim
> Pasternak <vadimp@nvidia.com>; hust-os-kernel-
> patches@googlegroups.com; Dongliang Mu <dzm91@hust.edu.cn>; Dan
> Carpenter <error27@gmail.com>; platform-driver-x86@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH] platform/mellanox: mlxreg-lc: Check before variable
> dereferenced
> 
> On Thu, Nov 30, 2023 at 05:44:07PM +0800, Yu Sun wrote:
> > there is a warning saying variable dereferenced before check
> > 'data->notifier' in line 828.
> > add "for(data->notifier)" before variable deferenced.
>        ^^^
> Should have been "if (data->notifier)".
> 
> >
> > Signed-off-by: Yu Sun <u202112062@hust.edu.cn>
> > Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
> > Reviewed-by: Dan Carpenter <error27@gmail.com>
> 
> I didn't really explicitly give a Reviewed-by tag for this patch.
> https://groups.google.com/g/hust-os-kernel-
> patches/c/c5hUaYIDcII/m/h4aFS7PkCQAJ
> I also said that I thought it looked correct but that it needed a Fixes:
> tag however the Fixes tag I suggested was wrong.
> 
> Looking at it now, the correct Fixes tag would be:
> Fixes: 1c8ee06b637f ("platform/mellanox: Remove unnecessary code")
> 
> That commit says that the NULL check is not required.  So now I'm confused.
> On the one hand, the impulse is to trust the maintainer, but on the other hand
> my review suggested that the NULL check might be required.

Yes, it indeed required.
My mistake.

Thank you for your comments.

> 
> regards,
> dan carpenter
>
Hans de Goede Dec. 2, 2023, 11:39 a.m. UTC | #3
Hi,

On 11/30/23 17:24, Vadim Pasternak wrote:
> Hi Dan,
> 
>> -----Original Message-----
>> From: Dan Carpenter <dan.carpenter@linaro.org>
>> Sent: Thursday, 30 November 2023 13:47
>> To: Yu Sun <u202112062@hust.edu.cn>
>> Cc: Hans de Goede <hdegoede@redhat.com>; Ilpo Järvinen
>> <ilpo.jarvinen@linux.intel.com>; Mark Gross <markgross@kernel.org>; Vadim
>> Pasternak <vadimp@nvidia.com>; hust-os-kernel-
>> patches@googlegroups.com; Dongliang Mu <dzm91@hust.edu.cn>; Dan
>> Carpenter <error27@gmail.com>; platform-driver-x86@vger.kernel.org; linux-
>> kernel@vger.kernel.org
>> Subject: Re: [PATCH] platform/mellanox: mlxreg-lc: Check before variable
>> dereferenced
>>
>> On Thu, Nov 30, 2023 at 05:44:07PM +0800, Yu Sun wrote:
>>> there is a warning saying variable dereferenced before check
>>> 'data->notifier' in line 828.
>>> add "for(data->notifier)" before variable deferenced.
>>        ^^^
>> Should have been "if (data->notifier)".
>>
>>>
>>> Signed-off-by: Yu Sun <u202112062@hust.edu.cn>
>>> Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
>>> Reviewed-by: Dan Carpenter <error27@gmail.com>
>>
>> I didn't really explicitly give a Reviewed-by tag for this patch.
>> https://groups.google.com/g/hust-os-kernel-
>> patches/c/c5hUaYIDcII/m/h4aFS7PkCQAJ
>> I also said that I thought it looked correct but that it needed a Fixes:
>> tag however the Fixes tag I suggested was wrong.
>>
>> Looking at it now, the correct Fixes tag would be:
>> Fixes: 1c8ee06b637f ("platform/mellanox: Remove unnecessary code")
>>
>> That commit says that the NULL check is not required.  So now I'm confused.
>> On the one hand, the impulse is to trust the maintainer, but on the other hand
>> my review suggested that the NULL check might be required.
> 
> Yes, it indeed required.
> My mistake.

Ok, so we are going to need a v2 of this addressing Dan's remarks
about the commit message.

Yu Sun, can you please submit a new version addressing
Dan's comments on the commit message ?

Regards,

Hans
diff mbox series

Patch

diff --git a/drivers/platform/mellanox/mlxreg-lc.c b/drivers/platform/mellanox/mlxreg-lc.c
index 43d119e3a473..e92add40750b 100644
--- a/drivers/platform/mellanox/mlxreg-lc.c
+++ b/drivers/platform/mellanox/mlxreg-lc.c
@@ -824,9 +824,12 @@  static int mlxreg_lc_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	mutex_init(&mlxreg_lc->lock);
-	/* Set event notification callback. */
-	data->notifier->user_handler = mlxreg_lc_event_handler;
-	data->notifier->handle = mlxreg_lc;
+
+	if (data->notifier) {
+		/* Set event notification callback. */
+		data->notifier->user_handler = mlxreg_lc_event_handler;
+		data->notifier->handle = mlxreg_lc;
+	}
 
 	data->hpdev.adapter = i2c_get_adapter(data->hpdev.nr);
 	if (!data->hpdev.adapter) {