aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ndisc.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-03-05 14:52:18 -0500
committerIngo Molnar <mingo@kernel.org>2015-03-05 14:52:18 -0500
commit33ca8a53f262b4af40611bea331b8c87d133af72 (patch)
treed6468c820a556c4915bcb5b761204a0fb19e8225 /net/ipv6/ndisc.c
parentdb2dcb4f91d5fec5c346a82c309187ee821e2495 (diff)
parent13a7a6ac0a11197edcd0f756a035f472b42cdf8b (diff)
Merge tag 'v4.0-rc2' into irq/core, to refresh the tree before applying new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/ipv6/ndisc.c')
-rw-r--r--net/ipv6/ndisc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 682866777d53..471ed24aabae 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -655,7 +655,9 @@ static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb)
655 struct in6_addr *target = (struct in6_addr *)&neigh->primary_key; 655 struct in6_addr *target = (struct in6_addr *)&neigh->primary_key;
656 int probes = atomic_read(&neigh->probes); 656 int probes = atomic_read(&neigh->probes);
657 657
658 if (skb && ipv6_chk_addr(dev_net(dev), &ipv6_hdr(skb)->saddr, dev, 1)) 658 if (skb && ipv6_chk_addr_and_flags(dev_net(dev), &ipv6_hdr(skb)->saddr,
659 dev, 1,
660 IFA_F_TENTATIVE|IFA_F_OPTIMISTIC))
659 saddr = &ipv6_hdr(skb)->saddr; 661 saddr = &ipv6_hdr(skb)->saddr;
660 probes -= NEIGH_VAR(neigh->parms, UCAST_PROBES); 662 probes -= NEIGH_VAR(neigh->parms, UCAST_PROBES);
661 if (probes < 0) { 663 if (probes < 0) {
@@ -1348,7 +1350,7 @@ skip_routeinfo:
1348 } 1350 }
1349 } 1351 }
1350 1352
1351 if (ndopts.nd_opts_mtu) { 1353 if (ndopts.nd_opts_mtu && in6_dev->cnf.accept_ra_mtu) {
1352 __be32 n; 1354 __be32 n;
1353 u32 mtu; 1355 u32 mtu;
1354 1356