summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2017-05-17 07:16:40 -0700
committerBen Hutchings <ben@decadent.org.uk>2017-06-05 21:17:24 +0100
commit60e7579f4b71e2e8b252d2f1b3ef5ffb3b971a4e (patch)
tree68aef37ba0e274ad8625c6b8e03eb33bf63db0be
parent7ccac51c850f0c5dfebf6a3b3fec5760c6887ef0 (diff)
sctp: do not inherit ipv6_{mc|ac|fl}_list from parent
commit fdcee2cbb8438702ea1b328fb6e0ac5e9a40c7f8 upstream. SCTP needs fixes similar to 83eaddab4378 ("ipv6/dccp: do not inherit ipv6_mc_list from parent"), otherwise bad things can happen. Signed-off-by: Eric Dumazet <edumazet@google.com> Reported-by: Andrey Konovalov <andreyknvl@google.com> Tested-by: Andrey Konovalov <andreyknvl@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--net/sctp/ipv6.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index 68265b255638..8ad13ba731b9 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -659,6 +659,9 @@ static struct sock *sctp_v6_create_accept_sk(struct sock *sk,
newnp = inet6_sk(newsk);
memcpy(newnp, np, sizeof(struct ipv6_pinfo));
+ newnp->ipv6_mc_list = NULL;
+ newnp->ipv6_ac_list = NULL;
+ newnp->ipv6_fl_list = NULL;
rcu_read_lock();
opt = rcu_dereference(np->opt);