[DCCP]: dccp_v(4|6)_ctl_socket is leaked.
authorDenis V. Lunev <den@openvz.org>
Thu, 3 Apr 2008 21:21:33 +0000 (14:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Apr 2008 21:21:33 +0000 (14:21 -0700)
This seems a purism as module can't be unloaded, but though if cleanup
method is present it should be correct and clean all staff created.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dccp/ipv4.c
net/dccp/ipv6.c

index f97049bf22c04446b2a017446de17569a2d0cf83..6d8f684a7a49d25c420b5506b688d1efd8b1d748 100644 (file)
@@ -1020,6 +1020,7 @@ out_proto_unregister:
 
 static void __exit dccp_v4_exit(void)
 {
+       sock_release(dccp_v4_ctl_sk->sk_socket);
        inet_unregister_protosw(&dccp_v4_protosw);
        inet_del_protocol(&dccp_v4_protocol, IPPROTO_DCCP);
        proto_unregister(&dccp_v4_prot);
index 44e8b3323170abf0768d90fdefcabf9b2f862a34..c5d9d1be56f30f9f452bdb4f8d9825df813c3b27 100644 (file)
@@ -1202,6 +1202,7 @@ out_unregister_proto:
 
 static void __exit dccp_v6_exit(void)
 {
+       sock_release(dccp_v6_ctl_sk->sk_socket);
        inet6_del_protocol(&dccp_v6_protocol, IPPROTO_DCCP);
        inet6_unregister_protosw(&dccp_v6_protosw);
        proto_unregister(&dccp_v6_prot);