[NET]: Identation & other cleanups related to compat_[gs]etsockopt cset
No code changes, just tidying up, in some cases moving EXPORT_SYMBOLs to just after the function exported, etc. Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
f94691acf9
commit
543d9cfeec
@@ -456,53 +456,53 @@ int inet6_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
||||
}
|
||||
|
||||
const struct proto_ops inet6_stream_ops = {
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
.bind = inet6_bind,
|
||||
.connect = inet_stream_connect, /* ok */
|
||||
.socketpair = sock_no_socketpair, /* a do nothing */
|
||||
.accept = inet_accept, /* ok */
|
||||
.getname = inet6_getname,
|
||||
.poll = tcp_poll, /* ok */
|
||||
.ioctl = inet6_ioctl, /* must change */
|
||||
.listen = inet_listen, /* ok */
|
||||
.shutdown = inet_shutdown, /* ok */
|
||||
.setsockopt = sock_common_setsockopt, /* ok */
|
||||
.getsockopt = sock_common_getsockopt, /* ok */
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
.bind = inet6_bind,
|
||||
.connect = inet_stream_connect, /* ok */
|
||||
.socketpair = sock_no_socketpair, /* a do nothing */
|
||||
.accept = inet_accept, /* ok */
|
||||
.getname = inet6_getname,
|
||||
.poll = tcp_poll, /* ok */
|
||||
.ioctl = inet6_ioctl, /* must change */
|
||||
.listen = inet_listen, /* ok */
|
||||
.shutdown = inet_shutdown, /* ok */
|
||||
.setsockopt = sock_common_setsockopt, /* ok */
|
||||
.getsockopt = sock_common_getsockopt, /* ok */
|
||||
.sendmsg = inet_sendmsg, /* ok */
|
||||
.recvmsg = sock_common_recvmsg, /* ok */
|
||||
.mmap = sock_no_mmap,
|
||||
.sendpage = tcp_sendpage,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_sock_common_setsockopt,
|
||||
.compat_getsockopt = compat_sock_common_getsockopt,
|
||||
.compat_setsockopt = compat_sock_common_setsockopt,
|
||||
.compat_getsockopt = compat_sock_common_getsockopt,
|
||||
#endif
|
||||
.sendmsg = inet_sendmsg, /* ok */
|
||||
.recvmsg = sock_common_recvmsg, /* ok */
|
||||
.mmap = sock_no_mmap,
|
||||
.sendpage = tcp_sendpage
|
||||
};
|
||||
|
||||
const struct proto_ops inet6_dgram_ops = {
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
.bind = inet6_bind,
|
||||
.connect = inet_dgram_connect, /* ok */
|
||||
.socketpair = sock_no_socketpair, /* a do nothing */
|
||||
.accept = sock_no_accept, /* a do nothing */
|
||||
.getname = inet6_getname,
|
||||
.poll = udp_poll, /* ok */
|
||||
.ioctl = inet6_ioctl, /* must change */
|
||||
.listen = sock_no_listen, /* ok */
|
||||
.shutdown = inet_shutdown, /* ok */
|
||||
.setsockopt = sock_common_setsockopt, /* ok */
|
||||
.getsockopt = sock_common_getsockopt, /* ok */
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
.bind = inet6_bind,
|
||||
.connect = inet_dgram_connect, /* ok */
|
||||
.socketpair = sock_no_socketpair, /* a do nothing */
|
||||
.accept = sock_no_accept, /* a do nothing */
|
||||
.getname = inet6_getname,
|
||||
.poll = udp_poll, /* ok */
|
||||
.ioctl = inet6_ioctl, /* must change */
|
||||
.listen = sock_no_listen, /* ok */
|
||||
.shutdown = inet_shutdown, /* ok */
|
||||
.setsockopt = sock_common_setsockopt, /* ok */
|
||||
.getsockopt = sock_common_getsockopt, /* ok */
|
||||
.sendmsg = inet_sendmsg, /* ok */
|
||||
.recvmsg = sock_common_recvmsg, /* ok */
|
||||
.mmap = sock_no_mmap,
|
||||
.sendpage = sock_no_sendpage,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_sock_common_setsockopt,
|
||||
.compat_getsockopt = compat_sock_common_getsockopt,
|
||||
.compat_setsockopt = compat_sock_common_setsockopt,
|
||||
.compat_getsockopt = compat_sock_common_getsockopt,
|
||||
#endif
|
||||
.sendmsg = inet_sendmsg, /* ok */
|
||||
.recvmsg = sock_common_recvmsg, /* ok */
|
||||
.mmap = sock_no_mmap,
|
||||
.sendpage = sock_no_sendpage,
|
||||
};
|
||||
|
||||
static struct net_proto_family inet6_family_ops = {
|
||||
@@ -513,28 +513,28 @@ static struct net_proto_family inet6_family_ops = {
|
||||
|
||||
/* Same as inet6_dgram_ops, sans udp_poll. */
|
||||
static const struct proto_ops inet6_sockraw_ops = {
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
.bind = inet6_bind,
|
||||
.connect = inet_dgram_connect, /* ok */
|
||||
.socketpair = sock_no_socketpair, /* a do nothing */
|
||||
.accept = sock_no_accept, /* a do nothing */
|
||||
.getname = inet6_getname,
|
||||
.poll = datagram_poll, /* ok */
|
||||
.ioctl = inet6_ioctl, /* must change */
|
||||
.listen = sock_no_listen, /* ok */
|
||||
.shutdown = inet_shutdown, /* ok */
|
||||
.setsockopt = sock_common_setsockopt, /* ok */
|
||||
.getsockopt = sock_common_getsockopt, /* ok */
|
||||
.family = PF_INET6,
|
||||
.owner = THIS_MODULE,
|
||||
.release = inet6_release,
|
||||
.bind = inet6_bind,
|
||||
.connect = inet_dgram_connect, /* ok */
|
||||
.socketpair = sock_no_socketpair, /* a do nothing */
|
||||
.accept = sock_no_accept, /* a do nothing */
|
||||
.getname = inet6_getname,
|
||||
.poll = datagram_poll, /* ok */
|
||||
.ioctl = inet6_ioctl, /* must change */
|
||||
.listen = sock_no_listen, /* ok */
|
||||
.shutdown = inet_shutdown, /* ok */
|
||||
.setsockopt = sock_common_setsockopt, /* ok */
|
||||
.getsockopt = sock_common_getsockopt, /* ok */
|
||||
.sendmsg = inet_sendmsg, /* ok */
|
||||
.recvmsg = sock_common_recvmsg, /* ok */
|
||||
.mmap = sock_no_mmap,
|
||||
.sendpage = sock_no_sendpage,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_sock_common_setsockopt,
|
||||
.compat_getsockopt = compat_sock_common_getsockopt,
|
||||
.compat_setsockopt = compat_sock_common_setsockopt,
|
||||
.compat_getsockopt = compat_sock_common_getsockopt,
|
||||
#endif
|
||||
.sendmsg = inet_sendmsg, /* ok */
|
||||
.recvmsg = sock_common_recvmsg, /* ok */
|
||||
.mmap = sock_no_mmap,
|
||||
.sendpage = sock_no_sendpage,
|
||||
};
|
||||
|
||||
static struct inet_protosw rawv6_protosw = {
|
||||
|
@@ -645,17 +645,15 @@ int ipv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
int compat_ipv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int optlen)
|
||||
char __user *optval, int optlen)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (level == SOL_IP && sk->sk_type != SOCK_RAW) {
|
||||
if (udp_prot.compat_setsockopt)
|
||||
return udp_prot.compat_setsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
else
|
||||
return udp_prot.setsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
if (udp_prot.compat_setsockopt != NULL)
|
||||
return udp_prot.compat_setsockopt(sk, level, optname,
|
||||
optval, optlen);
|
||||
return udp_prot.setsockopt(sk, level, optname, optval, optlen);
|
||||
}
|
||||
|
||||
if (level != SOL_IPV6)
|
||||
@@ -665,15 +663,17 @@ int compat_ipv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
#ifdef CONFIG_NETFILTER
|
||||
/* we need to exclude all possible ENOPROTOOPTs except default case */
|
||||
if (err == -ENOPROTOOPT && optname != IPV6_IPSEC_POLICY &&
|
||||
optname != IPV6_XFRM_POLICY) {
|
||||
optname != IPV6_XFRM_POLICY) {
|
||||
lock_sock(sk);
|
||||
err = compat_nf_setsockopt(sk, PF_INET6, optname, optval,
|
||||
optlen);
|
||||
err = compat_nf_setsockopt(sk, PF_INET6, optname,
|
||||
optval, optlen);
|
||||
release_sock(sk);
|
||||
}
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(compat_ipv6_setsockopt);
|
||||
#endif
|
||||
|
||||
static int ipv6_getsockopt_sticky(struct sock *sk, struct ipv6_opt_hdr *hdr,
|
||||
@@ -927,20 +927,18 @@ int ipv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
int compat_ipv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int __user *optlen)
|
||||
char __user *optval, int __user *optlen)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (level == SOL_IP && sk->sk_type != SOCK_RAW) {
|
||||
if (udp_prot.compat_getsockopt)
|
||||
return udp_prot.compat_getsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
else
|
||||
return udp_prot.getsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
if (udp_prot.compat_getsockopt != NULL)
|
||||
return udp_prot.compat_getsockopt(sk, level, optname,
|
||||
optval, optlen);
|
||||
return udp_prot.getsockopt(sk, level, optname, optval, optlen);
|
||||
}
|
||||
|
||||
if(level != SOL_IPV6)
|
||||
if (level != SOL_IPV6)
|
||||
return -ENOPROTOOPT;
|
||||
|
||||
err = do_ipv6_getsockopt(sk, level, optname, optval, optlen);
|
||||
@@ -954,8 +952,8 @@ int compat_ipv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
return -EFAULT;
|
||||
|
||||
lock_sock(sk);
|
||||
err = compat_nf_getsockopt(sk, PF_INET6, optname, optval,
|
||||
&len);
|
||||
err = compat_nf_getsockopt(sk, PF_INET6,
|
||||
optname, optval, &len);
|
||||
release_sock(sk);
|
||||
if (err >= 0)
|
||||
err = put_user(len, optlen);
|
||||
@@ -963,6 +961,8 @@ int compat_ipv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(compat_ipv6_getsockopt);
|
||||
#endif
|
||||
|
||||
void __init ipv6_packet_init(void)
|
||||
|
@@ -18,10 +18,6 @@ EXPORT_SYMBOL(ip6_route_output);
|
||||
EXPORT_SYMBOL(addrconf_lock);
|
||||
EXPORT_SYMBOL(ipv6_setsockopt);
|
||||
EXPORT_SYMBOL(ipv6_getsockopt);
|
||||
#ifdef CONFIG_COMPAT
|
||||
EXPORT_SYMBOL(compat_ipv6_setsockopt);
|
||||
EXPORT_SYMBOL(compat_ipv6_getsockopt);
|
||||
#endif
|
||||
EXPORT_SYMBOL(inet6_register_protosw);
|
||||
EXPORT_SYMBOL(inet6_unregister_protosw);
|
||||
EXPORT_SYMBOL(inet6_add_protocol);
|
||||
|
@@ -913,23 +913,21 @@ static int rawv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
static int compat_rawv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int optlen)
|
||||
char __user *optval, int optlen)
|
||||
{
|
||||
switch(level) {
|
||||
case SOL_RAW:
|
||||
switch (level) {
|
||||
case SOL_RAW:
|
||||
break;
|
||||
case SOL_ICMPV6:
|
||||
if (inet_sk(sk)->num != IPPROTO_ICMPV6)
|
||||
return -EOPNOTSUPP;
|
||||
return rawv6_seticmpfilter(sk, level, optname, optval, optlen);
|
||||
case SOL_IPV6:
|
||||
if (optname == IPV6_CHECKSUM)
|
||||
break;
|
||||
|
||||
case SOL_ICMPV6:
|
||||
if (inet_sk(sk)->num != IPPROTO_ICMPV6)
|
||||
return -EOPNOTSUPP;
|
||||
return rawv6_seticmpfilter(sk, level, optname, optval,
|
||||
optlen);
|
||||
case SOL_IPV6:
|
||||
if (optname == IPV6_CHECKSUM)
|
||||
break;
|
||||
default:
|
||||
return compat_ipv6_setsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
default:
|
||||
return compat_ipv6_setsockopt(sk, level, optname,
|
||||
optval, optlen);
|
||||
};
|
||||
return do_rawv6_setsockopt(sk, level, optname, optval, optlen);
|
||||
}
|
||||
@@ -989,23 +987,21 @@ static int rawv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
static int compat_rawv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int __user *optlen)
|
||||
char __user *optval, int __user *optlen)
|
||||
{
|
||||
switch(level) {
|
||||
case SOL_RAW:
|
||||
switch (level) {
|
||||
case SOL_RAW:
|
||||
break;
|
||||
case SOL_ICMPV6:
|
||||
if (inet_sk(sk)->num != IPPROTO_ICMPV6)
|
||||
return -EOPNOTSUPP;
|
||||
return rawv6_geticmpfilter(sk, level, optname, optval, optlen);
|
||||
case SOL_IPV6:
|
||||
if (optname == IPV6_CHECKSUM)
|
||||
break;
|
||||
|
||||
case SOL_ICMPV6:
|
||||
if (inet_sk(sk)->num != IPPROTO_ICMPV6)
|
||||
return -EOPNOTSUPP;
|
||||
return rawv6_geticmpfilter(sk, level, optname, optval,
|
||||
optlen);
|
||||
case SOL_IPV6:
|
||||
if (optname == IPV6_CHECKSUM)
|
||||
break;
|
||||
default:
|
||||
return compat_ipv6_getsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
default:
|
||||
return compat_ipv6_getsockopt(sk, level, optname,
|
||||
optval, optlen);
|
||||
};
|
||||
return do_rawv6_getsockopt(sk, level, optname, optval, optlen);
|
||||
}
|
||||
@@ -1056,27 +1052,27 @@ static int rawv6_init_sk(struct sock *sk)
|
||||
}
|
||||
|
||||
struct proto rawv6_prot = {
|
||||
.name = "RAWv6",
|
||||
.owner = THIS_MODULE,
|
||||
.close = rawv6_close,
|
||||
.connect = ip6_datagram_connect,
|
||||
.disconnect = udp_disconnect,
|
||||
.ioctl = rawv6_ioctl,
|
||||
.init = rawv6_init_sk,
|
||||
.destroy = inet6_destroy_sock,
|
||||
.setsockopt = rawv6_setsockopt,
|
||||
.getsockopt = rawv6_getsockopt,
|
||||
.name = "RAWv6",
|
||||
.owner = THIS_MODULE,
|
||||
.close = rawv6_close,
|
||||
.connect = ip6_datagram_connect,
|
||||
.disconnect = udp_disconnect,
|
||||
.ioctl = rawv6_ioctl,
|
||||
.init = rawv6_init_sk,
|
||||
.destroy = inet6_destroy_sock,
|
||||
.setsockopt = rawv6_setsockopt,
|
||||
.getsockopt = rawv6_getsockopt,
|
||||
.sendmsg = rawv6_sendmsg,
|
||||
.recvmsg = rawv6_recvmsg,
|
||||
.bind = rawv6_bind,
|
||||
.backlog_rcv = rawv6_rcv_skb,
|
||||
.hash = raw_v6_hash,
|
||||
.unhash = raw_v6_unhash,
|
||||
.obj_size = sizeof(struct raw6_sock),
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_rawv6_setsockopt,
|
||||
.compat_getsockopt = compat_rawv6_getsockopt,
|
||||
.compat_setsockopt = compat_rawv6_setsockopt,
|
||||
.compat_getsockopt = compat_rawv6_getsockopt,
|
||||
#endif
|
||||
.sendmsg = rawv6_sendmsg,
|
||||
.recvmsg = rawv6_recvmsg,
|
||||
.bind = rawv6_bind,
|
||||
.backlog_rcv = rawv6_rcv_skb,
|
||||
.hash = raw_v6_hash,
|
||||
.unhash = raw_v6_unhash,
|
||||
.obj_size = sizeof(struct raw6_sock),
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
@@ -1298,22 +1298,21 @@ static int tcp_v6_remember_stamp(struct sock *sk)
|
||||
}
|
||||
|
||||
static struct inet_connection_sock_af_ops ipv6_specific = {
|
||||
.queue_xmit = inet6_csk_xmit,
|
||||
.send_check = tcp_v6_send_check,
|
||||
.rebuild_header = inet6_sk_rebuild_header,
|
||||
.conn_request = tcp_v6_conn_request,
|
||||
.syn_recv_sock = tcp_v6_syn_recv_sock,
|
||||
.remember_stamp = tcp_v6_remember_stamp,
|
||||
.net_header_len = sizeof(struct ipv6hdr),
|
||||
|
||||
.setsockopt = ipv6_setsockopt,
|
||||
.getsockopt = ipv6_getsockopt,
|
||||
.queue_xmit = inet6_csk_xmit,
|
||||
.send_check = tcp_v6_send_check,
|
||||
.rebuild_header = inet6_sk_rebuild_header,
|
||||
.conn_request = tcp_v6_conn_request,
|
||||
.syn_recv_sock = tcp_v6_syn_recv_sock,
|
||||
.remember_stamp = tcp_v6_remember_stamp,
|
||||
.net_header_len = sizeof(struct ipv6hdr),
|
||||
.setsockopt = ipv6_setsockopt,
|
||||
.getsockopt = ipv6_getsockopt,
|
||||
.addr2sockaddr = inet6_csk_addr2sockaddr,
|
||||
.sockaddr_len = sizeof(struct sockaddr_in6),
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_ipv6_setsockopt,
|
||||
.compat_getsockopt = compat_ipv6_getsockopt,
|
||||
.compat_setsockopt = compat_ipv6_setsockopt,
|
||||
.compat_getsockopt = compat_ipv6_getsockopt,
|
||||
#endif
|
||||
.addr2sockaddr = inet6_csk_addr2sockaddr,
|
||||
.sockaddr_len = sizeof(struct sockaddr_in6)
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -1321,26 +1320,23 @@ static struct inet_connection_sock_af_ops ipv6_specific = {
|
||||
*/
|
||||
|
||||
static struct inet_connection_sock_af_ops ipv6_mapped = {
|
||||
.queue_xmit = ip_queue_xmit,
|
||||
.send_check = tcp_v4_send_check,
|
||||
.rebuild_header = inet_sk_rebuild_header,
|
||||
.conn_request = tcp_v6_conn_request,
|
||||
.syn_recv_sock = tcp_v6_syn_recv_sock,
|
||||
.remember_stamp = tcp_v4_remember_stamp,
|
||||
.net_header_len = sizeof(struct iphdr),
|
||||
|
||||
.setsockopt = ipv6_setsockopt,
|
||||
.getsockopt = ipv6_getsockopt,
|
||||
.queue_xmit = ip_queue_xmit,
|
||||
.send_check = tcp_v4_send_check,
|
||||
.rebuild_header = inet_sk_rebuild_header,
|
||||
.conn_request = tcp_v6_conn_request,
|
||||
.syn_recv_sock = tcp_v6_syn_recv_sock,
|
||||
.remember_stamp = tcp_v4_remember_stamp,
|
||||
.net_header_len = sizeof(struct iphdr),
|
||||
.setsockopt = ipv6_setsockopt,
|
||||
.getsockopt = ipv6_getsockopt,
|
||||
.addr2sockaddr = inet6_csk_addr2sockaddr,
|
||||
.sockaddr_len = sizeof(struct sockaddr_in6),
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_ipv6_setsockopt,
|
||||
.compat_getsockopt = compat_ipv6_getsockopt,
|
||||
.compat_setsockopt = compat_ipv6_setsockopt,
|
||||
.compat_getsockopt = compat_ipv6_getsockopt,
|
||||
#endif
|
||||
.addr2sockaddr = inet6_csk_addr2sockaddr,
|
||||
.sockaddr_len = sizeof(struct sockaddr_in6)
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* NOTE: A lot of things set to zero explicitly by call to
|
||||
* sk_alloc() so need not be done here.
|
||||
*/
|
||||
@@ -1574,10 +1570,6 @@ struct proto tcpv6_prot = {
|
||||
.shutdown = tcp_shutdown,
|
||||
.setsockopt = tcp_setsockopt,
|
||||
.getsockopt = tcp_getsockopt,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_tcp_setsockopt,
|
||||
.compat_getsockopt = compat_tcp_getsockopt,
|
||||
#endif
|
||||
.sendmsg = tcp_sendmsg,
|
||||
.recvmsg = tcp_recvmsg,
|
||||
.backlog_rcv = tcp_v6_do_rcv,
|
||||
@@ -1596,6 +1588,10 @@ struct proto tcpv6_prot = {
|
||||
.obj_size = sizeof(struct tcp6_sock),
|
||||
.twsk_prot = &tcp6_timewait_sock_ops,
|
||||
.rsk_prot = &tcp6_request_sock_ops,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_tcp_setsockopt,
|
||||
.compat_getsockopt = compat_tcp_getsockopt,
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct inet6_protocol tcpv6_protocol = {
|
||||
|
@@ -934,11 +934,11 @@ static int udpv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
static int compat_udpv6_setsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int optlen)
|
||||
char __user *optval, int optlen)
|
||||
{
|
||||
if (level != SOL_UDP)
|
||||
return compat_ipv6_setsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
return compat_ipv6_setsockopt(sk, level, optname,
|
||||
optval, optlen);
|
||||
return do_udpv6_setsockopt(sk, level, optname, optval, optlen);
|
||||
}
|
||||
#endif
|
||||
@@ -987,11 +987,11 @@ static int udpv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
static int compat_udpv6_getsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int __user *optlen)
|
||||
char __user *optval, int __user *optlen)
|
||||
{
|
||||
if (level != SOL_UDP)
|
||||
return compat_ipv6_getsockopt(sk, level,
|
||||
optname, optval, optlen);
|
||||
return compat_ipv6_getsockopt(sk, level, optname,
|
||||
optval, optlen);
|
||||
return do_udpv6_getsockopt(sk, level, optname, optval, optlen);
|
||||
}
|
||||
#endif
|
||||
@@ -1069,26 +1069,26 @@ void udp6_proc_exit(void) {
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
struct proto udpv6_prot = {
|
||||
.name = "UDPv6",
|
||||
.owner = THIS_MODULE,
|
||||
.close = udpv6_close,
|
||||
.connect = ip6_datagram_connect,
|
||||
.disconnect = udp_disconnect,
|
||||
.ioctl = udp_ioctl,
|
||||
.destroy = udpv6_destroy_sock,
|
||||
.setsockopt = udpv6_setsockopt,
|
||||
.getsockopt = udpv6_getsockopt,
|
||||
.name = "UDPv6",
|
||||
.owner = THIS_MODULE,
|
||||
.close = udpv6_close,
|
||||
.connect = ip6_datagram_connect,
|
||||
.disconnect = udp_disconnect,
|
||||
.ioctl = udp_ioctl,
|
||||
.destroy = udpv6_destroy_sock,
|
||||
.setsockopt = udpv6_setsockopt,
|
||||
.getsockopt = udpv6_getsockopt,
|
||||
.sendmsg = udpv6_sendmsg,
|
||||
.recvmsg = udpv6_recvmsg,
|
||||
.backlog_rcv = udpv6_queue_rcv_skb,
|
||||
.hash = udp_v6_hash,
|
||||
.unhash = udp_v6_unhash,
|
||||
.get_port = udp_v6_get_port,
|
||||
.obj_size = sizeof(struct udp6_sock),
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_setsockopt = compat_udpv6_setsockopt,
|
||||
.compat_getsockopt = compat_udpv6_getsockopt,
|
||||
.compat_setsockopt = compat_udpv6_setsockopt,
|
||||
.compat_getsockopt = compat_udpv6_getsockopt,
|
||||
#endif
|
||||
.sendmsg = udpv6_sendmsg,
|
||||
.recvmsg = udpv6_recvmsg,
|
||||
.backlog_rcv = udpv6_queue_rcv_skb,
|
||||
.hash = udp_v6_hash,
|
||||
.unhash = udp_v6_unhash,
|
||||
.get_port = udp_v6_get_port,
|
||||
.obj_size = sizeof(struct udp6_sock),
|
||||
};
|
||||
|
||||
static struct inet_protosw udpv6_protosw = {
|
||||
|
Reference in New Issue
Block a user