summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2017-05-17 07:16:40 -0700
committerDavid S. Miller <davem@davemloft.net>2017-05-18 10:24:08 -0400
commitfdcee2cbb8438702ea1b328fb6e0ac5e9a40c7f8 (patch)
tree36eeaff66310ffd838274809cdb6a628400732ca /net/sctp
parenta3f96c47c8d4c38be71fdbb440a99968c764ba62 (diff)
downloadlinux-0-day-fdcee2cbb8438702ea1b328fb6e0ac5e9a40c7f8.tar.gz
linux-0-day-fdcee2cbb8438702ea1b328fb6e0ac5e9a40c7f8.tar.xz
sctp: do not inherit ipv6_{mc|ac|fl}_list from parent
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>
Diffstat (limited to 'net/sctp')
-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 142b70e959af9..f5b45b8b8b16e 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -677,6 +677,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);