ipv6: nullify ipv6_ac_list and ipv6_fl_list when creating new socket
authorYan, Zheng <zheng.z.yan@intel.com>
Sun, 25 Sep 2011 02:21:30 +0000 (02:21 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Sep 2011 04:32:10 +0000 (00:32 -0400)
ipv6_ac_list and ipv6_fl_list from listening socket are inadvertently
shared with new socket created for connection.

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/tcp_ipv6.c

index 3c9fa618b69daae984931c171d4cb54b150c8166..79cc6469508d36031eefdd9e640be846ce881416 100644 (file)
@@ -1383,6 +1383,8 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
                newtp->af_specific = &tcp_sock_ipv6_mapped_specific;
 #endif
 
+               newnp->ipv6_ac_list = NULL;
+               newnp->ipv6_fl_list = NULL;
                newnp->pktoptions  = NULL;
                newnp->opt         = NULL;
                newnp->mcast_oif   = inet6_iif(skb);
@@ -1447,6 +1449,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
           First: no IPv4 options.
         */
        newinet->inet_opt = NULL;
+       newnp->ipv6_ac_list = NULL;
        newnp->ipv6_fl_list = NULL;
 
        /* Clone RX bits */