diff options
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 5b90b369ccb2..e85f377a8f82 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -1286,7 +1286,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1286 | struct request_sock *req, | 1286 | struct request_sock *req, |
1287 | struct dst_entry *dst) | 1287 | struct dst_entry *dst) |
1288 | { | 1288 | { |
1289 | struct inet6_request_sock *treq = inet6_rsk(req); | 1289 | struct inet6_request_sock *treq; |
1290 | struct ipv6_pinfo *newnp, *np = inet6_sk(sk); | 1290 | struct ipv6_pinfo *newnp, *np = inet6_sk(sk); |
1291 | struct tcp6_sock *newtcp6sk; | 1291 | struct tcp6_sock *newtcp6sk; |
1292 | struct inet_sock *newinet; | 1292 | struct inet_sock *newinet; |
@@ -1350,6 +1350,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1350 | return newsk; | 1350 | return newsk; |
1351 | } | 1351 | } |
1352 | 1352 | ||
1353 | treq = inet6_rsk(req); | ||
1353 | opt = np->opt; | 1354 | opt = np->opt; |
1354 | 1355 | ||
1355 | if (sk_acceptq_is_full(sk)) | 1356 | if (sk_acceptq_is_full(sk)) |
@@ -2148,6 +2149,7 @@ static int tcpv6_net_init(struct net *net) | |||
2148 | static void tcpv6_net_exit(struct net *net) | 2149 | static void tcpv6_net_exit(struct net *net) |
2149 | { | 2150 | { |
2150 | inet_ctl_sock_destroy(net->ipv6.tcp_sk); | 2151 | inet_ctl_sock_destroy(net->ipv6.tcp_sk); |
2152 | inet_twsk_purge(net, &tcp_hashinfo, &tcp_death_row, AF_INET6); | ||
2151 | } | 2153 | } |
2152 | 2154 | ||
2153 | static struct pernet_operations tcpv6_net_ops = { | 2155 | static struct pernet_operations tcpv6_net_ops = { |