int                     (*ioctl)(struct sock *sk, int cmd,
                                         unsigned long arg);
        int                     (*init)(struct sock *sk);
-       int                     (*destroy)(struct sock *sk);
+       void                    (*destroy)(struct sock *sk);
        void                    (*shutdown)(struct sock *sk, int how);
        int                     (*setsockopt)(struct sock *sk, int level, 
                                        int optname, char __user *optval,
 
 extern struct request_sock_ops tcp_request_sock_ops;
 extern struct request_sock_ops tcp6_request_sock_ops;
 
-extern int tcp_v4_destroy_sock(struct sock *sk);
+extern void tcp_v4_destroy_sock(struct sock *sk);
 
 extern int tcp_v4_gso_send_check(struct sk_buff *skb);
 extern struct sk_buff *tcp_tso_segment(struct sk_buff *skb, int features);
 
  */
 extern struct inet_connection_sock_af_ops ipv4_specific;
 
-extern int inet6_destroy_sock(struct sock *sk);
+extern void inet6_destroy_sock(struct sock *sk);
 
 #endif
 
 
                                const struct dccp_hdr *dh, const unsigned len);
 
 extern int dccp_init_sock(struct sock *sk, const __u8 ctl_sock_initialized);
-extern int dccp_destroy_sock(struct sock *sk);
+extern void dccp_destroy_sock(struct sock *sk);
 
 extern void            dccp_close(struct sock *sk, long timeout);
 extern struct sk_buff  *dccp_make_response(struct sock *sk,
 
        return err;
 }
 
-static int dccp_v6_destroy_sock(struct sock *sk)
+static void dccp_v6_destroy_sock(struct sock *sk)
 {
        dccp_destroy_sock(sk);
-       return inet6_destroy_sock(sk);
+       inet6_destroy_sock(sk);
 }
 
 static struct timewait_sock_ops dccp6_timewait_sock_ops = {
 
 
 EXPORT_SYMBOL_GPL(dccp_init_sock);
 
-int dccp_destroy_sock(struct sock *sk)
+void dccp_destroy_sock(struct sock *sk)
 {
        struct dccp_sock *dp = dccp_sk(sk);
        struct dccp_minisock *dmsk = dccp_msk(sk);
 
        /* clean up feature negotiation state */
        dccp_feat_clean(dmsk);
-
-       return 0;
 }
 
 EXPORT_SYMBOL_GPL(dccp_destroy_sock);
 
        sk_common_release(sk);
 }
 
-static int raw_destroy(struct sock *sk)
+static void raw_destroy(struct sock *sk)
 {
        lock_sock(sk);
        ip_flush_pending_frames(sk);
        release_sock(sk);
-       return 0;
 }
 
 /* This gets rid of all the nasties in af_inet. -DaveM */
 
        return 0;
 }
 
-int tcp_v4_destroy_sock(struct sock *sk)
+void tcp_v4_destroy_sock(struct sock *sk)
 {
        struct tcp_sock *tp = tcp_sk(sk);
 
        }
 
        atomic_dec(&tcp_sockets_allocated);
-
-       return 0;
 }
 
 EXPORT_SYMBOL(tcp_v4_destroy_sock);
 
        return __udp4_lib_rcv(skb, udp_hash, IPPROTO_UDP);
 }
 
-int udp_destroy_sock(struct sock *sk)
+void udp_destroy_sock(struct sock *sk)
 {
        lock_sock(sk);
        udp_flush_pending_frames(sk);
        release_sock(sk);
-       return 0;
 }
 
 /*
 
 extern int     udp_sendpage(struct sock *sk, struct page *page, int offset,
                             size_t size, int flags);
 extern int     udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb);
-extern int     udp_destroy_sock(struct sock *sk);
+extern void    udp_destroy_sock(struct sock *sk);
 
 #ifdef CONFIG_PROC_FS
 extern int     udp4_seq_show(struct seq_file *seq, void *v);
 
 
 EXPORT_SYMBOL(inet6_release);
 
-int inet6_destroy_sock(struct sock *sk)
+void inet6_destroy_sock(struct sock *sk)
 {
        struct ipv6_pinfo *np = inet6_sk(sk);
        struct sk_buff *skb;
 
        if ((opt = xchg(&np->opt, NULL)) != NULL)
                sock_kfree_s(sk, opt, opt->tot_len);
-
-       return 0;
 }
 
 EXPORT_SYMBOL_GPL(inet6_destroy_sock);
 
        sk_common_release(sk);
 }
 
-static int raw6_destroy(struct sock *sk)
+static void raw6_destroy(struct sock *sk)
 {
        lock_sock(sk);
        ip6_flush_pending_frames(sk);
        release_sock(sk);
 
-       return inet6_destroy_sock(sk);
+       inet6_destroy_sock(sk);
 }
 
 static int rawv6_init_sk(struct sock *sk)
 
        return 0;
 }
 
-static int tcp_v6_destroy_sock(struct sock *sk)
+static void tcp_v6_destroy_sock(struct sock *sk)
 {
 #ifdef CONFIG_TCP_MD5SIG
        /* Clean up the MD5 key list */
                tcp_v6_clear_md5_list(sk);
 #endif
        tcp_v4_destroy_sock(sk);
-       return inet6_destroy_sock(sk);
+       inet6_destroy_sock(sk);
 }
 
 #ifdef CONFIG_PROC_FS
 
        goto out;
 }
 
-int udpv6_destroy_sock(struct sock *sk)
+void udpv6_destroy_sock(struct sock *sk)
 {
        lock_sock(sk);
        udp_v6_flush_pending_frames(sk);
        release_sock(sk);
 
        inet6_destroy_sock(sk);
-
-       return 0;
 }
 
 /*
 
                              struct msghdr *msg, size_t len,
                              int noblock, int flags, int *addr_len);
 extern int     udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb);
-extern int     udpv6_destroy_sock(struct sock *sk);
+extern void    udpv6_destroy_sock(struct sock *sk);
 
 #ifdef CONFIG_PROC_FS
 extern int     udp6_seq_show(struct seq_file *seq, void *v);
 
 }
 
 /* Cleanup any SCTP per socket resources.  */
-SCTP_STATIC int sctp_destroy_sock(struct sock *sk)
+SCTP_STATIC void sctp_destroy_sock(struct sock *sk)
 {
        struct sctp_endpoint *ep;
 
        ep = sctp_sk(sk)->ep;
        sctp_endpoint_free(ep);
        atomic_dec(&sctp_sockets_allocated);
-       return 0;
 }
 
 /* API 4.1.7 shutdown() - TCP Style Syntax