From 1709b8599b9fb9721eef522f7d405a930058fcca Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Tue, 12 Feb 2013 13:30:16 +0000 Subject: [PATCH] --- yaml --- r: 349764 b: refs/heads/master c: e9c0dfbaa28b7c9f5d3482633770cdeec53e3f7b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/sctp/ipv6.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fa0158850e26..27458a194ed7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 816cd5b83e4d8f3c8106966e64a025408caee3f6 +refs/heads/master: e9c0dfbaa28b7c9f5d3482633770cdeec53e3f7b diff --git a/trunk/net/sctp/ipv6.c b/trunk/net/sctp/ipv6.c index f3f0f4dc31dd..391a245d5203 100644 --- a/trunk/net/sctp/ipv6.c +++ b/trunk/net/sctp/ipv6.c @@ -326,9 +326,10 @@ static void sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr, */ rcu_read_lock(); list_for_each_entry_rcu(laddr, &bp->address_list, list) { - if (!laddr->valid && laddr->state != SCTP_ADDR_SRC) + if (!laddr->valid) continue; - if ((laddr->a.sa.sa_family == AF_INET6) && + if ((laddr->state == SCTP_ADDR_SRC) && + (laddr->a.sa.sa_family == AF_INET6) && (scope <= sctp_scope(&laddr->a))) { bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a); if (!baddr || (matchlen < bmatchlen)) {