projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'v4.4.5' into linux-linaro-lsk-v4.4
[firefly-linux-kernel-4.4.55.git]
/
net
/
ipv6
/
addrconf.c
diff --git
a/net/ipv6/addrconf.c
b/net/ipv6/addrconf.c
index 1f21087accab258e5be6cc104f8b8ced13fedd6d..e8d3da0817d353d5d854e9c61e30a65a34f0e4c6 100644
(file)
--- a/
net/ipv6/addrconf.c
+++ b/
net/ipv6/addrconf.c
@@
-583,7
+583,7
@@
static int inet6_netconf_get_devconf(struct sk_buff *in_skb,
if (err < 0)
goto errout;
if (err < 0)
goto errout;
- err = EINVAL;
+ err =
-
EINVAL;
if (!tb[NETCONFA_IFINDEX])
goto errout;
if (!tb[NETCONFA_IFINDEX])
goto errout;
@@
-3506,6
+3506,7
@@
static void addrconf_dad_begin(struct inet6_ifaddr *ifp)
{
struct inet6_dev *idev = ifp->idev;
struct net_device *dev = idev->dev;
{
struct inet6_dev *idev = ifp->idev;
struct net_device *dev = idev->dev;
+ bool notify = false;
addrconf_join_solict(dev, &ifp->addr);
addrconf_join_solict(dev, &ifp->addr);
@@
-3551,7
+3552,7
@@
static void addrconf_dad_begin(struct inet6_ifaddr *ifp)
/* Because optimistic nodes can use this address,
* notify listeners. If DAD fails, RTM_DELADDR is sent.
*/
/* Because optimistic nodes can use this address,
* notify listeners. If DAD fails, RTM_DELADDR is sent.
*/
-
ipv6_ifa_notify(RTM_NEWADDR, ifp)
;
+
notify = true
;
}
}
}
}
@@
-3559,6
+3560,8
@@
static void addrconf_dad_begin(struct inet6_ifaddr *ifp)
out:
spin_unlock(&ifp->lock);
read_unlock_bh(&idev->lock);
out:
spin_unlock(&ifp->lock);
read_unlock_bh(&idev->lock);
+ if (notify)
+ ipv6_ifa_notify(RTM_NEWADDR, ifp);
}
static void addrconf_dad_start(struct inet6_ifaddr *ifp)
}
static void addrconf_dad_start(struct inet6_ifaddr *ifp)