Message ID | 1557177887-30446-5-git-send-email-ynezz@true.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
> 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>
diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c index d27b627..e4c2f3a 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 ab23911..a0e1199 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; }
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> --- drivers/net/usb/smsc75xx.c | 2 +- drivers/net/usb/smsc95xx.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)