2018-02-02 1:57 GMT+02:00 Alexey Kodanev <alexey.koda...@oracle.com>: > For ipv6 part, shouldn't we release 'bdst' there if the previous address > match is better and we continue to the next iteration?
Good catch! Didn't see that one. Tommi > diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c > index 5d4c15b..a044096 100644 > --- a/net/sctp/ipv6.c > +++ b/net/sctp/ipv6.c > @@ -336,8 +336,11 @@ static void sctp_v6_get_dst(struct sctp_transport *t, > union sctp_addr *saddr, > } > > bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a); > - if (matchlen > bmatchlen) > + if (matchlen > bmatchlen) { > + if (!IS_ERR(bdst)) > + dst_release(bdst); > continue; > + } > > if (!IS_ERR_OR_NULL(dst)) > dst_release(dst); > > Thanks, > Alexey