diff options
author | Petr Štetiar <ynezz@true.cz> | 2019-05-06 23:24:47 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-05-07 12:22:47 -0700 |
commit | 5503a6889f72d91c9ad156e6daa9ffcdc726ddc5 (patch) | |
tree | 0c545daeef33e044ef8c8999a3e7c3a3b7d6d8ac | |
parent | da48be3373438224da1a5832cb7ffce1f1752a75 (diff) |
net: usb: smsc: fix warning reported by kbuild test robot
This patch fixes following warning reported by kbuild test robot:
In function ‘memcpy’,
inlined from ‘smsc75xx_init_mac_address’ at drivers/net/usb/smsc75xx.c:778:3,
inlined from ‘smsc75xx_bind’ at drivers/net/usb/smsc75xx.c:1501:2:
./include/linux/string.h:355:9: warning: argument 2 null where non-null expected [-Wnonnull]
return __builtin_memcpy(p, q, size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/usb/smsc75xx.c: In function ‘smsc75xx_bind’:
./include/linux/string.h:355:9: note: in a call to built-in function ‘__builtin_memcpy’
I've replaced the offending memcpy with ether_addr_copy, because I'm
100% sure, that of_get_mac_address can't return NULL as it returns valid
pointer or ERR_PTR encoded value, nothing else.
I'm hesitant to just change IS_ERR into IS_ERR_OR_NULL check, as this
would make the warning disappear also, but it would be confusing to
check for impossible return value just to make a compiler happy.
Fixes: adfb3cb2c52e ("net: usb: support of_get_mac_address new ERR_PTR error")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Reviewed-by: Woojung Huh <woojung.huh@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/usb/smsc75xx.c | 2 | ||||
-rw-r--r-- | drivers/net/usb/smsc95xx.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c index d27b627b4317..e4c2f3afce60 100644 --- a/drivers/net/usb/smsc75xx.c +++ b/drivers/net/usb/smsc75xx.c @@ -775,7 +775,7 @@ static void smsc75xx_init_mac_address(struct usbnet *dev) /* maybe the boot loader passed the MAC address in devicetree */ mac_addr = of_get_mac_address(dev->udev->dev.of_node); if (!IS_ERR(mac_addr)) { - memcpy(dev->net->dev_addr, mac_addr, ETH_ALEN); + ether_addr_copy(dev->net->dev_addr, mac_addr); return; } diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index ab239113351d..a0e119907c84 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -918,7 +918,7 @@ static void smsc95xx_init_mac_address(struct usbnet *dev) /* maybe the boot loader passed the MAC address in devicetree */ mac_addr = of_get_mac_address(dev->udev->dev.of_node); if (!IS_ERR(mac_addr)) { - memcpy(dev->net->dev_addr, mac_addr, ETH_ALEN); + ether_addr_copy(dev->net->dev_addr, mac_addr); return; } |