Thank you very much , there should be pointer checked before dereference. > -----Original Message----- > From: Dan Carpenter [mailto:dan.carpenter@xxxxxxxxxx] > Sent: Tuesday, February 07, 2017 6:50 PM > To: maowenan > Cc: kernel-janitors@xxxxxxxxxxxxxxx > Subject: [bug report] net: phy: Fix lack of reference count on PHY driver > > Hello Mao Wenan, > > This is a semi-automatic email about new static checker warnings. > > The patch cafe8df8b9bc: "net: phy: Fix lack of reference count on PHY driver" > from Jan 31, 2017, leads to the following Smatch complaint: > > drivers/net/phy/phy_device.c:933 phy_attach_direct() > warn: variable dereferenced before check 'd->driver' (see line 923) > > drivers/net/phy/phy_device.c > 922 > 923 if (!try_module_get(d->driver->owner)) { > ^^^^^^^^^^^ Patch introduces a > new dereference. > > 924 dev_err(&dev->dev, "failed to get the device driver > module\n"); > 925 return -EIO; > 926 } > 927 > 928 get_device(d); > 929 > 930 /* Assume that if there is no driver, that it doesn't > 931 * exist, and we should use the genphy driver. > 932 */ > 933 if (!d->driver) { > ^^^^^^^^^ > Existing code assumed d->driver could be NULL. > > 934 if (phydev->is_c45) > 935 d->driver = > > regards, > dan carpenter -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html