diff options
Diffstat (limited to 'net/ipv4/af_inet.c')
-rw-r--r-- | net/ipv4/af_inet.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 85a3b1763136..07a02f6e9696 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -157,6 +157,7 @@ void inet_sock_destruct(struct sock *sk) | |||
157 | 157 | ||
158 | kfree(rcu_dereference_protected(inet->inet_opt, 1)); | 158 | kfree(rcu_dereference_protected(inet->inet_opt, 1)); |
159 | dst_release(rcu_dereference_check(sk->sk_dst_cache, 1)); | 159 | dst_release(rcu_dereference_check(sk->sk_dst_cache, 1)); |
160 | dst_release(sk->sk_rx_dst); | ||
160 | sk_refcnt_debug_dec(sk); | 161 | sk_refcnt_debug_dec(sk); |
161 | } | 162 | } |
162 | EXPORT_SYMBOL(inet_sock_destruct); | 163 | EXPORT_SYMBOL(inet_sock_destruct); |
@@ -1518,14 +1519,15 @@ static const struct net_protocol igmp_protocol = { | |||
1518 | #endif | 1519 | #endif |
1519 | 1520 | ||
1520 | static const struct net_protocol tcp_protocol = { | 1521 | static const struct net_protocol tcp_protocol = { |
1521 | .handler = tcp_v4_rcv, | 1522 | .early_demux = tcp_v4_early_demux, |
1522 | .err_handler = tcp_v4_err, | 1523 | .handler = tcp_v4_rcv, |
1523 | .gso_send_check = tcp_v4_gso_send_check, | 1524 | .err_handler = tcp_v4_err, |
1524 | .gso_segment = tcp_tso_segment, | 1525 | .gso_send_check = tcp_v4_gso_send_check, |
1525 | .gro_receive = tcp4_gro_receive, | 1526 | .gso_segment = tcp_tso_segment, |
1526 | .gro_complete = tcp4_gro_complete, | 1527 | .gro_receive = tcp4_gro_receive, |
1527 | .no_policy = 1, | 1528 | .gro_complete = tcp4_gro_complete, |
1528 | .netns_ok = 1, | 1529 | .no_policy = 1, |
1530 | .netns_ok = 1, | ||
1529 | }; | 1531 | }; |
1530 | 1532 | ||
1531 | static const struct net_protocol udp_protocol = { | 1533 | static const struct net_protocol udp_protocol = { |