summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-09-13 00:17:50 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-09-13 00:17:49 -0700
commit234a1f3c32d61b63dba26b87eae06bdab521d054 (patch)
tree2f91c7b76c7581cc7edb2084824ed012b0857545
parentc0125f4c90d0f7156b5a643157e610cde031a577 (diff)
parent7506dd8c9acf7be1386ee8ee7498d87cb5630d44 (diff)
Merge "usb: gadget: u_ether: Add NULL check in helper APIs"
-rw-r--r--drivers/usb/gadget/function/u_ether.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
index 9123f1635843..1ffed7b74d3f 100644
--- a/drivers/usb/gadget/function/u_ether.c
+++ b/drivers/usb/gadget/function/u_ether.c
@@ -1073,6 +1073,9 @@ int gether_set_dev_addr(struct net_device *net, const char *dev_addr)
struct eth_dev *dev;
u8 new_addr[ETH_ALEN];
+ if (!net)
+ return -ENODEV;
+
dev = netdev_priv(net);
if (get_ether_addr(dev_addr, new_addr))
return -EINVAL;
@@ -1085,6 +1088,9 @@ int gether_get_dev_addr(struct net_device *net, char *dev_addr, int len)
{
struct eth_dev *dev;
+ if (!net)
+ return -ENODEV;
+
dev = netdev_priv(net);
return get_ether_addr_str(dev->dev_mac, dev_addr, len);
}
@@ -1095,6 +1101,9 @@ int gether_set_host_addr(struct net_device *net, const char *host_addr)
struct eth_dev *dev;
u8 new_addr[ETH_ALEN];
+ if (!net)
+ return -ENODEV;
+
dev = netdev_priv(net);
if (get_ether_addr(host_addr, new_addr))
return -EINVAL;
@@ -1107,6 +1116,9 @@ int gether_get_host_addr(struct net_device *net, char *host_addr, int len)
{
struct eth_dev *dev;
+ if (!net)
+ return -ENODEV;
+
dev = netdev_priv(net);
return get_ether_addr_str(dev->host_mac, host_addr, len);
}
@@ -1139,6 +1151,9 @@ void gether_set_qmult(struct net_device *net, unsigned qmult)
{
struct eth_dev *dev;
+ if (!net)
+ return;
+
dev = netdev_priv(net);
dev->qmult = qmult;
}
@@ -1148,6 +1163,9 @@ unsigned gether_get_qmult(struct net_device *net)
{
struct eth_dev *dev;
+ if (!net)
+ return -ENODEV;
+
dev = netdev_priv(net);
return dev->qmult;
}
@@ -1155,6 +1173,9 @@ EXPORT_SYMBOL_GPL(gether_get_qmult);
int gether_get_ifname(struct net_device *net, char *name, int len)
{
+ if (!net)
+ return -ENODEV;
+
rtnl_lock();
strlcpy(name, netdev_name(net), len);
rtnl_unlock();