.. | .. |
---|
107 | 107 | return (struct ipv6_pinfo *)(((u8 *)sk) + offset); |
---|
108 | 108 | } |
---|
109 | 109 | |
---|
| 110 | +void inet6_sock_destruct(struct sock *sk) |
---|
| 111 | +{ |
---|
| 112 | + inet6_cleanup_sock(sk); |
---|
| 113 | + inet_sock_destruct(sk); |
---|
| 114 | +} |
---|
| 115 | +EXPORT_SYMBOL_GPL(inet6_sock_destruct); |
---|
| 116 | + |
---|
110 | 117 | static int inet6_create(struct net *net, struct socket *sock, int protocol, |
---|
111 | 118 | int kern) |
---|
112 | 119 | { |
---|
.. | .. |
---|
199 | 206 | inet->hdrincl = 1; |
---|
200 | 207 | } |
---|
201 | 208 | |
---|
202 | | - sk->sk_destruct = inet_sock_destruct; |
---|
| 209 | + sk->sk_destruct = inet6_sock_destruct; |
---|
203 | 210 | sk->sk_family = PF_INET6; |
---|
204 | 211 | sk->sk_protocol = protocol; |
---|
205 | 212 | |
---|
.. | .. |
---|
505 | 512 | } |
---|
506 | 513 | EXPORT_SYMBOL_GPL(inet6_destroy_sock); |
---|
507 | 514 | |
---|
| 515 | +void inet6_cleanup_sock(struct sock *sk) |
---|
| 516 | +{ |
---|
| 517 | + inet6_destroy_sock(sk); |
---|
| 518 | +} |
---|
| 519 | +EXPORT_SYMBOL_GPL(inet6_cleanup_sock); |
---|
| 520 | + |
---|
508 | 521 | /* |
---|
509 | 522 | * This does both peername and sockname. |
---|
510 | 523 | */ |
---|