re: ctcm: rename READ/WRITE defines to avoid redefinitions

From: Colin King (gmail)
Date: Sun Apr 24 2022 - 14:58:12 EST


Hi,

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

commit 3c09e2647b5e1f1f9fd383971468823c2505e1b0
Author: Ursula Braun <ursula.braun@xxxxxxxxxx>
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