summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2019-05-10 05:35:16 -0400
committerDavid S. Miller <davem@davemloft.net>2019-05-10 18:14:29 -0400
commit1be91314532c4a2779fa17665b6d0368972b570b (patch)
tree8cc524cb1eac382b93279d0be2203d79b8f69845
parent51828950272d192ecab06da399d58941d2fd4952 (diff)
powerpc: tsi108: fix similar warning reported by kbuild test robot
This patch fixes following (similar) 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. I'm now changing all occurencies of memcpy to ether_addr_copy after the of_get_mac_address call, as it's very likely, that we're going to get similar reports from kbuild test robot in the future. Fixes: ea168cdf1299 ("powerpc: tsi108: 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> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/powerpc/sysdev/tsi108_dev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/tsi108_dev.c b/arch/powerpc/sysdev/tsi108_dev.c
index c92dcac85231..026619c9a8cb 100644
--- a/arch/powerpc/sysdev/tsi108_dev.c
+++ b/arch/powerpc/sysdev/tsi108_dev.c
@@ -18,6 +18,7 @@
18#include <linux/irq.h> 18#include <linux/irq.h>
19#include <linux/export.h> 19#include <linux/export.h>
20#include <linux/device.h> 20#include <linux/device.h>
21#include <linux/etherdevice.h>
21#include <linux/platform_device.h> 22#include <linux/platform_device.h>
22#include <linux/of_net.h> 23#include <linux/of_net.h>
23#include <asm/tsi108.h> 24#include <asm/tsi108.h>
@@ -106,7 +107,7 @@ static int __init tsi108_eth_of_init(void)
106 107
107 mac_addr = of_get_mac_address(np); 108 mac_addr = of_get_mac_address(np);
108 if (!IS_ERR(mac_addr)) 109 if (!IS_ERR(mac_addr))
109 memcpy(tsi_eth_data.mac_addr, mac_addr, 6); 110 ether_addr_copy(tsi_eth_data.mac_addr, mac_addr);
110 111
111 ph = of_get_property(np, "mdio-handle", NULL); 112 ph = of_get_property(np, "mdio-handle", NULL);
112 mdio = of_find_node_by_phandle(*ph); 113 mdio = of_find_node_by_phandle(*ph);