Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/ctcm: fix variable dereferenced before check

Found by cppcheck and smatch.
smatch complains about
drivers/s390/net/ctcm_sysfs.c:43 ctcm_buffer_write() warn: variable dereferenced before check 'priv' (see line 42)

Fixes: 3c09e2647b5e ("ctcm: rename READ/WRITE defines to avoid redefinitions")
Reported-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Alexandra Winter and committed by
David S. Miller
2c50c686 2423b0d0

+3 -2
+3 -2
drivers/s390/net/ctcm_sysfs.c
··· 39 39 struct ctcm_priv *priv = dev_get_drvdata(dev); 40 40 int rc; 41 41 42 - ndev = priv->channel[CTCM_READ]->netdev; 43 - if (!(priv && priv->channel[CTCM_READ] && ndev)) { 42 + if (!(priv && priv->channel[CTCM_READ] && 43 + priv->channel[CTCM_READ]->netdev)) { 44 44 CTCM_DBF_TEXT(SETUP, CTC_DBF_ERROR, "bfnondev"); 45 45 return -ENODEV; 46 46 } 47 + ndev = priv->channel[CTCM_READ]->netdev; 47 48 48 49 rc = kstrtouint(buf, 0, &bs1); 49 50 if (rc)