diff options
| author | Kirill Tkhai <[email protected]> | 2018-02-19 08:49:40 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2018-02-19 19:19:10 +0000 |
| commit | fef65a2c6c3417fcf2fb0bebd8c27355d1b14a12 (patch) | |
| tree | 2a34d760773bec4b78aa2542042def427db4b748 /net/ipv6/tcp_ipv6.c | |
| parent | net: Convert fib6_rules_net_ops (diff) | |
| download | kernel-fef65a2c6c3417fcf2fb0bebd8c27355d1b14a12.tar.gz kernel-fef65a2c6c3417fcf2fb0bebd8c27355d1b14a12.zip | |
net: Convert tcpv6_net_ops
These pernet_operations create and destroy net::ipv6.tcp_sk
socket, which is used in tcp_v6_send_response() only. It looks
like foreign pernet_operations don't want to set ipv6 connection
inside destroyed net, so this socket may be created in destroyed
in parallel with anything else. inet_twsk_purge() is also safe
for that, as described in patch for tcp_sk_ops. So, it's possible
to mark them as async.
Signed-off-by: Kirill Tkhai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
| -rw-r--r-- | net/ipv6/tcp_ipv6.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 883df0ad5bfe..5425d7b100ee 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -2007,6 +2007,7 @@ static struct pernet_operations tcpv6_net_ops = { .init = tcpv6_net_init, .exit = tcpv6_net_exit, .exit_batch = tcpv6_net_exit_batch, + .async = true, }; int __init tcpv6_init(void) |
