net: change proto destroy method to return void
Change struct proto destroy function pointer to return void. Noticed by Al Viro. Signed-off-by: Brian Haley <brian.haley@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
4ae127d1b6
Коммит
7d06b2e053
|
@ -524,7 +524,7 @@ struct proto {
|
|||
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,
|
||||
|
|
|
@ -1366,7 +1366,7 @@ extern void tcp_proc_unregister(struct net *net, struct tcp_seq_afinfo *afinfo);
|
|||
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);
|
||||
|
|
|
@ -53,7 +53,7 @@ extern int datagram_send_ctl(struct net *net,
|
|||
*/
|
||||
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
|
||||
|
||||
|
|
|
@ -262,7 +262,7 @@ extern int dccp_rcv_established(struct sock *sk, struct sk_buff *skb,
|
|||
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,
|
||||
|
|
|
@ -1091,10 +1091,10 @@ static int dccp_v6_init_sock(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 = {
|
||||
|
|
|
@ -237,7 +237,7 @@ int dccp_init_sock(struct sock *sk, const __u8 ctl_sock_initialized)
|
|||
|
||||
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);
|
||||
|
@ -268,8 +268,6 @@ int dccp_destroy_sock(struct sock *sk)
|
|||
|
||||
/* clean up feature negotiation state */
|
||||
dccp_feat_clean(dmsk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(dccp_destroy_sock);
|
||||
|
|
|
@ -606,12 +606,11 @@ static void raw_close(struct sock *sk, long timeout)
|
|||
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 */
|
||||
|
|
|
@ -1775,7 +1775,7 @@ static int tcp_v4_init_sock(struct sock *sk)
|
|||
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);
|
||||
|
||||
|
@ -1819,8 +1819,6 @@ int tcp_v4_destroy_sock(struct sock *sk)
|
|||
}
|
||||
|
||||
atomic_dec(&tcp_sockets_allocated);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(tcp_v4_destroy_sock);
|
||||
|
|
|
@ -1253,12 +1253,11 @@ int udp_rcv(struct sk_buff *skb)
|
|||
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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -26,7 +26,7 @@ extern int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
|
|||
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);
|
||||
|
|
|
@ -371,7 +371,7 @@ int inet6_release(struct socket *sock)
|
|||
|
||||
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;
|
||||
|
@ -389,8 +389,6 @@ int inet6_destroy_sock(struct sock *sk)
|
|||
|
||||
if ((opt = xchg(&np->opt, NULL)) != NULL)
|
||||
sock_kfree_s(sk, opt, opt->tot_len);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(inet6_destroy_sock);
|
||||
|
|
|
@ -1162,13 +1162,13 @@ static void rawv6_close(struct sock *sk, long timeout)
|
|||
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)
|
||||
|
|
|
@ -1872,7 +1872,7 @@ static int tcp_v6_init_sock(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 */
|
||||
|
@ -1880,7 +1880,7 @@ static int tcp_v6_destroy_sock(struct sock *sk)
|
|||
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
|
||||
|
|
|
@ -879,15 +879,13 @@ do_confirm:
|
|||
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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -29,7 +29,7 @@ extern int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,
|
|||
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);
|
||||
|
|
|
@ -3588,7 +3588,7 @@ SCTP_STATIC int sctp_init_sock(struct sock *sk)
|
|||
}
|
||||
|
||||
/* 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;
|
||||
|
||||
|
@ -3598,7 +3598,6 @@ SCTP_STATIC int sctp_destroy_sock(struct sock *sk)
|
|||
ep = sctp_sk(sk)->ep;
|
||||
sctp_endpoint_free(ep);
|
||||
atomic_dec(&sctp_sockets_allocated);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* API 4.1.7 shutdown() - TCP Style Syntax
|
||||
|
|
Загрузка…
Ссылка в новой задаче