mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-14 13:39:10 +00:00
ipv6: tcp: get rid of tcp_v6_clear_sk()
Now RCU lookups of IPv6 TCP sockets no longer dereference pinet6, we do not need tcp_v6_clear_sk() anymore. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4cac820466
commit
391bb6be65
@ -1862,17 +1862,6 @@ void tcp6_proc_exit(struct net *net)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void tcp_v6_clear_sk(struct sock *sk, int size)
|
|
||||||
{
|
|
||||||
struct inet_sock *inet = inet_sk(sk);
|
|
||||||
|
|
||||||
/* we do not want to clear pinet6 field, because of RCU lookups */
|
|
||||||
sk_prot_clear_nulls(sk, offsetof(struct inet_sock, pinet6));
|
|
||||||
|
|
||||||
size -= offsetof(struct inet_sock, pinet6) + sizeof(inet->pinet6);
|
|
||||||
memset(&inet->pinet6 + 1, 0, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct proto tcpv6_prot = {
|
struct proto tcpv6_prot = {
|
||||||
.name = "TCPv6",
|
.name = "TCPv6",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
@ -1914,7 +1903,6 @@ struct proto tcpv6_prot = {
|
|||||||
.compat_setsockopt = compat_tcp_setsockopt,
|
.compat_setsockopt = compat_tcp_setsockopt,
|
||||||
.compat_getsockopt = compat_tcp_getsockopt,
|
.compat_getsockopt = compat_tcp_getsockopt,
|
||||||
#endif
|
#endif
|
||||||
.clear_sk = tcp_v6_clear_sk,
|
|
||||||
.diag_destroy = tcp_abort,
|
.diag_destroy = tcp_abort,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user