2022-04-25 14:08:05

by Colin Ian King

[permalink] [raw]
Subject: re: ctcm: rename READ/WRITE defines to avoid redefinitions

Hi,

static analysis with cppcheck detected a potential null pointer
deference with the following commit:

commit 3c09e2647b5e1f1f9fd383971468823c2505e1b0
Author: Ursula Braun <[email protected]>
Date: Thu Aug 12 01:58:28 2010 +0000

ctcm: rename READ/WRITE defines to avoid redefinitions


The analysis is as follows:

drivers/s390/net/ctcm_sysfs.c:43:8: note: Assuming that condition 'priv'
is not redundant
if (!(priv && priv->channel[CTCM_READ] && ndev)) {
^
drivers/s390/net/ctcm_sysfs.c:42:9: note: Null pointer dereference
ndev = priv->channel[CTCM_READ]->netdev;

The code in question is as follows:

ndev = priv->channel[CTCM_READ]->netdev;

^^ priv may be null, as per check below but it is being
dereferenced when assigning ndev

if (!(priv && priv->channel[CTCM_READ] && ndev)) {
CTCM_DBF_TEXT(SETUP, CTC_DBF_ERROR, "bfnondev");
return -ENODEV;
}

Colin


2022-04-25 17:25:55

by Alexandra Winter

[permalink] [raw]
Subject: Re: ctcm: rename READ/WRITE defines to avoid redefinitions



On 24.04.22 20:58, Colin King (gmail) wrote:
> Hi,
>
> static analysis with cppcheck detected a potential null pointer deference with the following commit:
>
> commit 3c09e2647b5e1f1f9fd383971468823c2505e1b0
> Author: Ursula Braun <[email protected]>
> Date:   Thu Aug 12 01:58:28 2010 +0000
>
>     ctcm: rename READ/WRITE defines to avoid redefinitions
>
>
> The analysis is as follows:
>
> drivers/s390/net/ctcm_sysfs.c:43:8: note: Assuming that condition 'priv' is not redundant
>  if (!(priv && priv->channel[CTCM_READ] && ndev)) {
>        ^
> drivers/s390/net/ctcm_sysfs.c:42:9: note: Null pointer dereference
>  ndev = priv->channel[CTCM_READ]->netdev;
>
> The code in question is as follows:
>
>         ndev = priv->channel[CTCM_READ]->netdev;
>
>         ^^ priv may be null, as per check below but it is being dereferenced when assigning ndev
>
>         if (!(priv && priv->channel[CTCM_READ] && ndev)) {
>                 CTCM_DBF_TEXT(SETUP, CTC_DBF_ERROR, "bfnondev");
>                 return -ENODEV;
>         }
>
> Colin

Thank you very much for reporting this, we will provide a patch.

Do you have any special requests for the Reported-by flag? Or is
Reported-by: Colin King (gmail) <[email protected]>
fine with you?

Kind regards
Alexandra

2022-04-26 08:55:28

by Colin Ian King

[permalink] [raw]
Subject: Re: ctcm: rename READ/WRITE defines to avoid redefinitions

On 25/04/2022 09:38, Alexandra Winter wrote:
>
>
> On 24.04.22 20:58, Colin King (gmail) wrote:
>> Hi,
>>
>> static analysis with cppcheck detected a potential null pointer deference with the following commit:
>>
>> commit 3c09e2647b5e1f1f9fd383971468823c2505e1b0
>> Author: Ursula Braun <[email protected]>
>> Date:   Thu Aug 12 01:58:28 2010 +0000
>>
>>     ctcm: rename READ/WRITE defines to avoid redefinitions
>>
>>
>> The analysis is as follows:
>>
>> drivers/s390/net/ctcm_sysfs.c:43:8: note: Assuming that condition 'priv' is not redundant
>>  if (!(priv && priv->channel[CTCM_READ] && ndev)) {
>>        ^
>> drivers/s390/net/ctcm_sysfs.c:42:9: note: Null pointer dereference
>>  ndev = priv->channel[CTCM_READ]->netdev;
>>
>> The code in question is as follows:
>>
>>         ndev = priv->channel[CTCM_READ]->netdev;
>>
>>         ^^ priv may be null, as per check below but it is being dereferenced when assigning ndev
>>
>>         if (!(priv && priv->channel[CTCM_READ] && ndev)) {
>>                 CTCM_DBF_TEXT(SETUP, CTC_DBF_ERROR, "bfnondev");
>>                 return -ENODEV;
>>         }
>>
>> Colin
>
> Thank you very much for reporting this, we will provide a patch.

Thanks for working on a fix. Much appreciated.

>
> Do you have any special requests for the Reported-by flag? Or is
> Reported-by: Colin King (gmail) <[email protected]>
> fine with you?
>

Can I have:

Reported by: Colin Ian King <[email protected]>

Thank you!

Colin

> Kind regards
> Alexandra