[NET]: Identation & other cleanups related to compat_[gs]etsockopt cset
authorArnaldo Carvalho de Melo <acme@mandriva.com>
Tue, 21 Mar 2006 06:48:35 +0000 (22:48 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Mar 2006 06:48:35 +0000 (22:48 -0800)
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>
19 files changed:
net/core/sock.c
net/dccp/ipv4.c
net/dccp/ipv6.c
net/dccp/proto.c
net/ipv4/af_inet.c
net/ipv4/ip_sockglue.c
net/ipv4/raw.c
net/ipv4/tcp.c
net/ipv4/tcp_ipv4.c
net/ipv4/udp.c
net/ipv6/af_inet6.c
net/ipv6/ipv6_sockglue.c
net/ipv6/ipv6_syms.c
net/ipv6/raw.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c
net/netfilter/nf_sockopt.c
net/sctp/ipv6.c
net/sctp/protocol.c

index dd63cdea3fe705740aab9f602e696fe0753b08fb..1a7e6eac90b04f89efca8620ed64686496a8e647 100644 (file)
@@ -1386,14 +1386,14 @@ int sock_common_getsockopt(struct socket *sock, int level, int optname,
 EXPORT_SYMBOL(sock_common_getsockopt);
 
 #ifdef CONFIG_COMPAT
-int compat_sock_common_getsockopt(struct socket *sock, int level,
-               int optname, char __user *optval, int __user *optlen)
+int compat_sock_common_getsockopt(struct socket *sock, int level, int optname,
+                                 char __user *optval, int __user *optlen)
 {
        struct sock *sk = sock->sk;
 
-       if (sk->sk_prot->compat_setsockopt)
-               return sk->sk_prot->compat_getsockopt(sk, level,
-                       optname, optval, optlen);
+       if (sk->sk_prot->compat_setsockopt != NULL)
+               return sk->sk_prot->compat_getsockopt(sk, level, optname,
+                                                     optval, optlen);
        return sk->sk_prot->getsockopt(sk, level, optname, optval, optlen);
 }
 EXPORT_SYMBOL(compat_sock_common_getsockopt);
@@ -1429,14 +1429,14 @@ int sock_common_setsockopt(struct socket *sock, int level, int optname,
 EXPORT_SYMBOL(sock_common_setsockopt);
 
 #ifdef CONFIG_COMPAT
-int compat_sock_common_setsockopt(struct socket *sock,
-               int level, int optname, char __user *optval, int optlen)
+int compat_sock_common_setsockopt(struct socket *sock, int level, int optname,
+                                 char __user *optval, int optlen)
 {
        struct sock *sk = sock->sk;
 
-       if (sk->sk_prot->compat_setsockopt)
-               return sk->sk_prot->compat_setsockopt(sk, level,
-                       optname, optval, optlen);
+       if (sk->sk_prot->compat_setsockopt != NULL)
+               return sk->sk_prot->compat_setsockopt(sk, level, optname,
+                                                     optval, optlen);
        return sk->sk_prot->setsockopt(sk, level, optname, optval, optlen);
 }
 EXPORT_SYMBOL(compat_sock_common_setsockopt);
index 8a33c8498d9ca7e90dce346dde2511a7853c0818..29047995c6957595bf40bdffbc8ad940291ba174 100644 (file)
@@ -986,20 +986,20 @@ do_time_wait:
 }
 
 static struct inet_connection_sock_af_ops dccp_ipv4_af_ops = {
-       .queue_xmit     = ip_queue_xmit,
-       .send_check     = dccp_v4_send_check,
-       .rebuild_header = inet_sk_rebuild_header,
-       .conn_request   = dccp_v4_conn_request,
-       .syn_recv_sock  = dccp_v4_request_recv_sock,
-       .net_header_len = sizeof(struct iphdr),
-       .setsockopt     = ip_setsockopt,
-       .getsockopt     = ip_getsockopt,
+       .queue_xmit        = ip_queue_xmit,
+       .send_check        = dccp_v4_send_check,
+       .rebuild_header    = inet_sk_rebuild_header,
+       .conn_request      = dccp_v4_conn_request,
+       .syn_recv_sock     = dccp_v4_request_recv_sock,
+       .net_header_len    = sizeof(struct iphdr),
+       .setsockopt        = ip_setsockopt,
+       .getsockopt        = ip_getsockopt,
+       .addr2sockaddr     = inet_csk_addr2sockaddr,
+       .sockaddr_len      = sizeof(struct sockaddr_in),
 #ifdef CONFIG_COMPAT
-       .compat_setsockopt      = compat_ip_setsockopt,
-       .compat_getsockopt      = compat_ip_getsockopt,
+       .compat_setsockopt = compat_ip_setsockopt,
+       .compat_getsockopt = compat_ip_getsockopt,
 #endif
-       .addr2sockaddr  = inet_csk_addr2sockaddr,
-       .sockaddr_len   = sizeof(struct sockaddr_in),
 };
 
 static int dccp_v4_init_sock(struct sock *sk)
@@ -1044,10 +1044,6 @@ static struct proto dccp_v4_prot = {
        .init                   = dccp_v4_init_sock,
        .setsockopt             = dccp_setsockopt,
        .getsockopt             = dccp_getsockopt,
-#ifdef CONFIG_COMPAT
-       .compat_setsockopt      = compat_dccp_setsockopt,
-       .compat_getsockopt      = compat_dccp_getsockopt,
-#endif
        .sendmsg                = dccp_sendmsg,
        .recvmsg                = dccp_recvmsg,
        .backlog_rcv            = dccp_v4_do_rcv,
@@ -1062,6 +1058,10 @@ static struct proto dccp_v4_prot = {
        .obj_size               = sizeof(struct dccp_sock),
        .rsk_prot               = &dccp_request_sock_ops,
        .twsk_prot              = &dccp_timewait_sock_ops,
+#ifdef CONFIG_COMPAT
+       .compat_setsockopt      = compat_dccp_setsockopt,
+       .compat_getsockopt      = compat_dccp_getsockopt,
+#endif
 };
 
 static struct net_protocol dccp_v4_protocol = {
@@ -1071,30 +1071,30 @@ static struct net_protocol dccp_v4_protocol = {
 };
 
 static const struct proto_ops inet_dccp_ops = {
-       .family         = PF_INET,
-       .owner          = THIS_MODULE,
-       .release        = inet_release,
-       .bind           = inet_bind,
-       .connect        = inet_stream_connect,
-       .socketpair     = sock_no_socketpair,
-       .accept         = inet_accept,
-       .getname        = inet_getname,
+       .family            = PF_INET,
+       .owner             = THIS_MODULE,
+       .release           = inet_release,
+       .bind              = inet_bind,
+       .connect           = inet_stream_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = inet_accept,
+       .getname           = inet_getname,
        /* FIXME: work on tcp_poll to rename it to inet_csk_poll */
-       .poll           = dccp_poll,
-       .ioctl          = inet_ioctl,
+       .poll              = dccp_poll,
+       .ioctl             = inet_ioctl,
        /* FIXME: work on inet_listen to rename it to sock_common_listen */
-       .listen         = inet_dccp_listen,
-       .shutdown       = inet_shutdown,
-       .setsockopt     = sock_common_setsockopt,
-       .getsockopt     = sock_common_getsockopt,
+       .listen            = inet_dccp_listen,
+       .shutdown          = inet_shutdown,
+       .setsockopt        = sock_common_setsockopt,
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .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,
-       .recvmsg        = sock_common_recvmsg,
-       .mmap           = sock_no_mmap,
-       .sendpage       = sock_no_sendpage,
 };
 
 static struct inet_protosw dccp_v4_protosw = {
index 89106c7d3247b9ce970c6489ac726c8d1223c407..65e2ab0886e62fd3a2bddde3e9d961b40b63a195 100644 (file)
@@ -1106,40 +1106,40 @@ do_time_wait:
 }
 
 static struct inet_connection_sock_af_ops dccp_ipv6_af_ops = {
-       .queue_xmit     = inet6_csk_xmit,
-       .send_check     = dccp_v6_send_check,
-       .rebuild_header = inet6_sk_rebuild_header,
-       .conn_request   = dccp_v6_conn_request,
-       .syn_recv_sock  = dccp_v6_request_recv_sock,
-       .net_header_len = sizeof(struct ipv6hdr),
-       .setsockopt     = ipv6_setsockopt,
-       .getsockopt     = ipv6_getsockopt,
+       .queue_xmit        = inet6_csk_xmit,
+       .send_check        = dccp_v6_send_check,
+       .rebuild_header    = inet6_sk_rebuild_header,
+       .conn_request      = dccp_v6_conn_request,
+       .syn_recv_sock     = dccp_v6_request_recv_sock,
+       .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)
 };
 
 /*
  *     DCCP over IPv4 via INET6 API
  */
 static struct inet_connection_sock_af_ops dccp_ipv6_mapped = {
-       .queue_xmit     = ip_queue_xmit,
-       .send_check     = dccp_v4_send_check,
-       .rebuild_header = inet_sk_rebuild_header,
-       .conn_request   = dccp_v6_conn_request,
-       .syn_recv_sock  = dccp_v6_request_recv_sock,
-       .net_header_len = sizeof(struct iphdr),
-       .setsockopt     = ipv6_setsockopt,
-       .getsockopt     = ipv6_getsockopt,
+       .queue_xmit        = ip_queue_xmit,
+       .send_check        = dccp_v4_send_check,
+       .rebuild_header    = inet_sk_rebuild_header,
+       .conn_request      = dccp_v6_conn_request,
+       .syn_recv_sock     = dccp_v6_request_recv_sock,
+       .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
@@ -1166,33 +1166,33 @@ static int dccp_v6_destroy_sock(struct sock *sk)
 }
 
 static struct proto dccp_v6_prot = {
-       .name           = "DCCPv6",
-       .owner          = THIS_MODULE,
-       .close          = dccp_close,
-       .connect        = dccp_v6_connect,
-       .disconnect     = dccp_disconnect,
-       .ioctl          = dccp_ioctl,
-       .init           = dccp_v6_init_sock,
-       .setsockopt     = dccp_setsockopt,
-       .getsockopt     = dccp_getsockopt,
+       .name              = "DCCPv6",
+       .owner             = THIS_MODULE,
+       .close             = dccp_close,
+       .connect           = dccp_v6_connect,
+       .disconnect        = dccp_disconnect,
+       .ioctl             = dccp_ioctl,
+       .init              = dccp_v6_init_sock,
+       .setsockopt        = dccp_setsockopt,
+       .getsockopt        = dccp_getsockopt,
+       .sendmsg           = dccp_sendmsg,
+       .recvmsg           = dccp_recvmsg,
+       .backlog_rcv       = dccp_v6_do_rcv,
+       .hash              = dccp_v6_hash,
+       .unhash            = dccp_unhash,
+       .accept            = inet_csk_accept,
+       .get_port          = dccp_v6_get_port,
+       .shutdown          = dccp_shutdown,
+       .destroy           = dccp_v6_destroy_sock,
+       .orphan_count      = &dccp_orphan_count,
+       .max_header        = MAX_DCCP_HEADER,
+       .obj_size          = sizeof(struct dccp6_sock),
+       .rsk_prot          = &dccp6_request_sock_ops,
+       .twsk_prot         = &dccp6_timewait_sock_ops,
 #ifdef CONFIG_COMPAT
-       .compat_setsockopt      = compat_dccp_setsockopt,
-       .compat_getsockopt      = compat_dccp_getsockopt,
+       .compat_setsockopt = compat_dccp_setsockopt,
+       .compat_getsockopt = compat_dccp_getsockopt,
 #endif
-       .sendmsg        = dccp_sendmsg,
-       .recvmsg        = dccp_recvmsg,
-       .backlog_rcv    = dccp_v6_do_rcv,
-       .hash           = dccp_v6_hash,
-       .unhash         = dccp_unhash,
-       .accept         = inet_csk_accept,
-       .get_port       = dccp_v6_get_port,
-       .shutdown       = dccp_shutdown,
-       .destroy        = dccp_v6_destroy_sock,
-       .orphan_count   = &dccp_orphan_count,
-       .max_header     = MAX_DCCP_HEADER,
-       .obj_size       = sizeof(struct dccp6_sock),
-       .rsk_prot       = &dccp6_request_sock_ops,
-       .twsk_prot      = &dccp6_timewait_sock_ops,
 };
 
 static struct inet6_protocol dccp_v6_protocol = {
@@ -1202,28 +1202,28 @@ static struct inet6_protocol dccp_v6_protocol = {
 };
 
 static struct proto_ops inet6_dccp_ops = {
-       .family         = PF_INET6,
-       .owner          = THIS_MODULE,
-       .release        = inet6_release,
-       .bind           = inet6_bind,
-       .connect        = inet_stream_connect,
-       .socketpair     = sock_no_socketpair,
-       .accept         = inet_accept,
-       .getname        = inet6_getname,
-       .poll           = dccp_poll,
-       .ioctl          = inet6_ioctl,
-       .listen         = inet_dccp_listen,
-       .shutdown       = inet_shutdown,
-       .setsockopt     = sock_common_setsockopt,
-       .getsockopt     = sock_common_getsockopt,
+       .family            = PF_INET6,
+       .owner             = THIS_MODULE,
+       .release           = inet6_release,
+       .bind              = inet6_bind,
+       .connect           = inet_stream_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = inet_accept,
+       .getname           = inet6_getname,
+       .poll              = dccp_poll,
+       .ioctl             = inet6_ioctl,
+       .listen            = inet_dccp_listen,
+       .shutdown          = inet_shutdown,
+       .setsockopt        = sock_common_setsockopt,
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .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,
-       .recvmsg        = sock_common_recvmsg,
-       .mmap           = sock_no_mmap,
-       .sendpage       = sock_no_sendpage,
 };
 
 static struct inet_protosw dccp_v6_protosw = {
index 6d7aef9647ded7e16c3959444060eabe55b5a5bd..8a6d0a83047c185d019ebb102e517c7929ec7d5b 100644 (file)
@@ -516,18 +516,19 @@ int dccp_setsockopt(struct sock *sk, int level, int optname,
                                                             optlen);
        return do_dccp_setsockopt(sk, level, optname, optval, optlen);
 }
+
 EXPORT_SYMBOL_GPL(dccp_setsockopt);
 
 #ifdef CONFIG_COMPAT
 int compat_dccp_setsockopt(struct sock *sk, int level, int optname,
-                   char __user *optval, int optlen)
+                          char __user *optval, int optlen)
 {
        if (level != SOL_DCCP)
                return inet_csk_compat_setsockopt(sk, level, optname,
                                                  optval, optlen);
-
        return do_dccp_setsockopt(sk, level, optname, optval, optlen);
 }
+
 EXPORT_SYMBOL_GPL(compat_dccp_setsockopt);
 #endif
 
@@ -609,17 +610,19 @@ int dccp_getsockopt(struct sock *sk, int level, int optname,
                                                             optlen);
        return do_dccp_getsockopt(sk, level, optname, optval, optlen);
 }
+
 EXPORT_SYMBOL_GPL(dccp_getsockopt);
 
 #ifdef CONFIG_COMPAT
 int compat_dccp_getsockopt(struct sock *sk, int level, int optname,
-                   char __user *optval, int __user *optlen)
+                          char __user *optval, int __user *optlen)
 {
        if (level != SOL_DCCP)
                return inet_csk_compat_getsockopt(sk, level, optname,
                                                  optval, optlen);
        return do_dccp_getsockopt(sk, level, optname, optval, optlen);
 }
+
 EXPORT_SYMBOL_GPL(compat_dccp_getsockopt);
 #endif
 
index 454e523b506a8628a1ee52326babf5b172a6d968..dc206f1f914f51af724d2a8e6f21240f9956cd9b 100644 (file)
@@ -788,53 +788,53 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 }
 
 const struct proto_ops inet_stream_ops = {
-       .family =       PF_INET,
-       .owner =        THIS_MODULE,
-       .release =      inet_release,
-       .bind =         inet_bind,
-       .connect =      inet_stream_connect,
-       .socketpair =   sock_no_socketpair,
-       .accept =       inet_accept,
-       .getname =      inet_getname,
-       .poll =         tcp_poll,
-       .ioctl =        inet_ioctl,
-       .listen =       inet_listen,
-       .shutdown =     inet_shutdown,
-       .setsockopt =   sock_common_setsockopt,
-       .getsockopt =   sock_common_getsockopt,
+       .family            = PF_INET,
+       .owner             = THIS_MODULE,
+       .release           = inet_release,
+       .bind              = inet_bind,
+       .connect           = inet_stream_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = inet_accept,
+       .getname           = inet_getname,
+       .poll              = tcp_poll,
+       .ioctl             = inet_ioctl,
+       .listen            = inet_listen,
+       .shutdown          = inet_shutdown,
+       .setsockopt        = sock_common_setsockopt,
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .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,
-       .recvmsg =      sock_common_recvmsg,
-       .mmap =         sock_no_mmap,
-       .sendpage =     tcp_sendpage
 };
 
 const struct proto_ops inet_dgram_ops = {
-       .family =       PF_INET,
-       .owner =        THIS_MODULE,
-       .release =      inet_release,
-       .bind =         inet_bind,
-       .connect =      inet_dgram_connect,
-       .socketpair =   sock_no_socketpair,
-       .accept =       sock_no_accept,
-       .getname =      inet_getname,
-       .poll =         udp_poll,
-       .ioctl =        inet_ioctl,
-       .listen =       sock_no_listen,
-       .shutdown =     inet_shutdown,
-       .setsockopt =   sock_common_setsockopt,
-       .getsockopt =   sock_common_getsockopt,
+       .family            = PF_INET,
+       .owner             = THIS_MODULE,
+       .release           = inet_release,
+       .bind              = inet_bind,
+       .connect           = inet_dgram_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = sock_no_accept,
+       .getname           = inet_getname,
+       .poll              = udp_poll,
+       .ioctl             = inet_ioctl,
+       .listen            = sock_no_listen,
+       .shutdown          = inet_shutdown,
+       .setsockopt        = sock_common_setsockopt,
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .mmap              = sock_no_mmap,
+       .sendpage          = inet_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,
-       .recvmsg =      sock_common_recvmsg,
-       .mmap =         sock_no_mmap,
-       .sendpage =     inet_sendpage,
 };
 
 /*
@@ -842,28 +842,28 @@ const struct proto_ops inet_dgram_ops = {
  * udp_poll
  */
 static const struct proto_ops inet_sockraw_ops = {
-       .family =       PF_INET,
-       .owner =        THIS_MODULE,
-       .release =      inet_release,
-       .bind =         inet_bind,
-       .connect =      inet_dgram_connect,
-       .socketpair =   sock_no_socketpair,
-       .accept =       sock_no_accept,
-       .getname =      inet_getname,
-       .poll =         datagram_poll,
-       .ioctl =        inet_ioctl,
-       .listen =       sock_no_listen,
-       .shutdown =     inet_shutdown,
-       .setsockopt =   sock_common_setsockopt,
-       .getsockopt =   sock_common_getsockopt,
+       .family            = PF_INET,
+       .owner             = THIS_MODULE,
+       .release           = inet_release,
+       .bind              = inet_bind,
+       .connect           = inet_dgram_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = sock_no_accept,
+       .getname           = inet_getname,
+       .poll              = datagram_poll,
+       .ioctl             = inet_ioctl,
+       .listen            = sock_no_listen,
+       .shutdown          = inet_shutdown,
+       .setsockopt        = sock_common_setsockopt,
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .mmap              = sock_no_mmap,
+       .sendpage          = inet_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,
-       .recvmsg =      sock_common_recvmsg,
-       .mmap =         sock_no_mmap,
-       .sendpage =     inet_sendpage,
 };
 
 static struct net_proto_family inet_family_ops = {
index 49ff1cd4e1c9d00f7685c53c2c613977f58a3614..12e0bf19f24ad7c109382bbbfcc0a0ac572feccf 100644 (file)
@@ -910,8 +910,8 @@ int ip_setsockopt(struct sock *sk, int level,
 }
 
 #ifdef CONFIG_COMPAT
-int compat_ip_setsockopt(struct sock *sk, int level,
-               int optname, char __user *optval, int optlen)
+int compat_ip_setsockopt(struct sock *sk, int level, int optname,
+                        char __user *optval, int optlen)
 {
        int err;
 
@@ -922,19 +922,21 @@ int compat_ip_setsockopt(struct sock *sk, int level,
 #ifdef CONFIG_NETFILTER
        /* we need to exclude all possible ENOPROTOOPTs except default case */
        if (err == -ENOPROTOOPT && optname != IP_HDRINCL &&
-               optname != IP_IPSEC_POLICY && optname != IP_XFRM_POLICY
+           optname != IP_IPSEC_POLICY && optname != IP_XFRM_POLICY
 #ifdef CONFIG_IP_MROUTE
-               && (optname < MRT_BASE || optname > (MRT_BASE + 10))
+           && (optname < MRT_BASE || optname > (MRT_BASE + 10))
 #endif
           ) {
                lock_sock(sk);
-               err = compat_nf_setsockopt(sk, PF_INET,
-                               optname, optval, optlen);
+               err = compat_nf_setsockopt(sk, PF_INET, optname,
+                                          optval, optlen);
                release_sock(sk);
        }
 #endif
        return err;
 }
+
+EXPORT_SYMBOL(compat_ip_setsockopt);
 #endif
 
 /*
@@ -1180,27 +1182,24 @@ int ip_getsockopt(struct sock *sk, int level,
 }
 
 #ifdef CONFIG_COMPAT
-int compat_ip_getsockopt(struct sock *sk, int level,
-               int optname, char __user *optval, int __user *optlen)
+int compat_ip_getsockopt(struct sock *sk, int level, int optname,
+                        char __user *optval, int __user *optlen)
 {
-       int err;
-
-       err = do_ip_getsockopt(sk, level, optname, optval, optlen);
+       int err = do_ip_getsockopt(sk, level, optname, optval, optlen);
 #ifdef CONFIG_NETFILTER
        /* we need to exclude all possible ENOPROTOOPTs except default case */
        if (err == -ENOPROTOOPT && optname != IP_PKTOPTIONS
 #ifdef CONFIG_IP_MROUTE
-               && (optname < MRT_BASE || optname > MRT_BASE+10)
+           && (optname < MRT_BASE || optname > MRT_BASE+10)
 #endif
           ) {
                int len;
 
-               if(get_user(len,optlen))
+               if (get_user(len, optlen))
                        return -EFAULT;
 
                lock_sock(sk);
-               err = compat_nf_getsockopt(sk, PF_INET,
-                               optname, optval, &len);
+               err = compat_nf_getsockopt(sk, PF_INET, optname, optval, &len);
                release_sock(sk);
                if (err >= 0)
                        err = put_user(len, optlen);
@@ -1209,13 +1208,11 @@ int compat_ip_getsockopt(struct sock *sk, int level,
 #endif
        return err;
 }
+
+EXPORT_SYMBOL(compat_ip_getsockopt);
 #endif
 
 EXPORT_SYMBOL(ip_cmsg_recv);
 
 EXPORT_SYMBOL(ip_getsockopt);
 EXPORT_SYMBOL(ip_setsockopt);
-#ifdef CONFIG_COMPAT
-EXPORT_SYMBOL(compat_ip_getsockopt);
-EXPORT_SYMBOL(compat_ip_setsockopt);
-#endif
index f1b02b34fc0a708504e00bf61b0be45e3eb85259..fc2562415555f255f89a538298e079a467708e41 100644 (file)
@@ -682,11 +682,10 @@ static int raw_setsockopt(struct sock *sk, int level, int optname,
 
 #ifdef CONFIG_COMPAT
 static int compat_raw_setsockopt(struct sock *sk, int level, int optname,
-                         char __user *optval, int optlen)
+                                char __user *optval, int optlen)
 {
        if (level != SOL_RAW)
-               return compat_ip_setsockopt(sk, level,
-                               optname, optval, optlen);
+               return compat_ip_setsockopt(sk, level, optname, optval, optlen);
        return do_raw_setsockopt(sk, level, optname, optval, optlen);
 }
 #endif
@@ -713,11 +712,10 @@ static int raw_getsockopt(struct sock *sk, int level, int optname,
 
 #ifdef CONFIG_COMPAT
 static int compat_raw_getsockopt(struct sock *sk, int level, int optname,
-                         char __user *optval, int __user *optlen)
+                                char __user *optval, int __user *optlen)
 {
        if (level != SOL_RAW)
-               return compat_ip_getsockopt(sk, level,
-                               optname, optval, optlen);
+               return compat_ip_getsockopt(sk, level, optname, optval, optlen);
        return do_raw_getsockopt(sk, level, optname, optval, optlen);
 }
 #endif
@@ -751,26 +749,26 @@ static int raw_ioctl(struct sock *sk, int cmd, unsigned long arg)
 }
 
 struct proto raw_prot = {
-       .name =         "RAW",
-       .owner =        THIS_MODULE,
-       .close =        raw_close,
-       .connect =      ip4_datagram_connect,
-       .disconnect =   udp_disconnect,
-       .ioctl =        raw_ioctl,
-       .init =         raw_init,
-       .setsockopt =   raw_setsockopt,
-       .getsockopt =   raw_getsockopt,
+       .name              = "RAW",
+       .owner             = THIS_MODULE,
+       .close             = raw_close,
+       .connect           = ip4_datagram_connect,
+       .disconnect        = udp_disconnect,
+       .ioctl             = raw_ioctl,
+       .init              = raw_init,
+       .setsockopt        = raw_setsockopt,
+       .getsockopt        = raw_getsockopt,
+       .sendmsg           = raw_sendmsg,
+       .recvmsg           = raw_recvmsg,
+       .bind              = raw_bind,
+       .backlog_rcv       = raw_rcv_skb,
+       .hash              = raw_v4_hash,
+       .unhash            = raw_v4_unhash,
+       .obj_size          = sizeof(struct raw_sock),
 #ifdef CONFIG_COMPAT
-       .compat_setsockopt =    compat_raw_setsockopt,
-       .compat_getsockopt =    compat_raw_getsockopt,
+       .compat_setsockopt = compat_raw_setsockopt,
+       .compat_getsockopt = compat_raw_getsockopt,
 #endif
-       .sendmsg =      raw_sendmsg,
-       .recvmsg =      raw_recvmsg,
-       .bind =         raw_bind,
-       .backlog_rcv =  raw_rcv_skb,
-       .hash =         raw_v4_hash,
-       .unhash =       raw_v4_unhash,
-       .obj_size =     sizeof(struct raw_sock),
 };
 
 #ifdef CONFIG_PROC_FS
index 89da253e33f0dc92eb628f8e0cea35d2f2159f5c..4b0272c92d665a3b8b1caef5e4ed7d2526e06bb4 100644 (file)
@@ -1879,14 +1879,16 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 }
 
 #ifdef CONFIG_COMPAT
-int compat_tcp_setsockopt(struct sock *sk, int level,
-               int optname, char __user *optval, int optlen)
+int compat_tcp_setsockopt(struct sock *sk, int level, int optname,
+                         char __user *optval, int optlen)
 {
        if (level != SOL_TCP)
                return inet_csk_compat_setsockopt(sk, level, optname,
                                                  optval, optlen);
        return do_tcp_setsockopt(sk, level, optname, optval, optlen);
 }
+
+EXPORT_SYMBOL(compat_tcp_setsockopt);
 #endif
 
 /* Return information about state of tcp endpoint in API format. */
@@ -2051,14 +2053,16 @@ int tcp_getsockopt(struct sock *sk, int level, int optname, char __user *optval,
 }
 
 #ifdef CONFIG_COMPAT
-int compat_tcp_getsockopt(struct sock *sk, int level,
-               int optname, char __user *optval, int __user *optlen)
+int compat_tcp_getsockopt(struct sock *sk, int level, int optname,
+                         char __user *optval, int __user *optlen)
 {
        if (level != SOL_TCP)
                return inet_csk_compat_getsockopt(sk, level, optname,
                                                  optval, optlen);
        return do_tcp_getsockopt(sk, level, optname, optval, optlen);
 }
+
+EXPORT_SYMBOL(compat_tcp_getsockopt);
 #endif
 
 extern void __skb_cb_too_small_for_tcp(int, int);
@@ -2177,7 +2181,3 @@ EXPORT_SYMBOL(tcp_sendpage);
 EXPORT_SYMBOL(tcp_setsockopt);
 EXPORT_SYMBOL(tcp_shutdown);
 EXPORT_SYMBOL(tcp_statistics);
-#ifdef CONFIG_COMPAT
-EXPORT_SYMBOL(compat_tcp_setsockopt);
-EXPORT_SYMBOL(compat_tcp_getsockopt);
-#endif
index 249ef6c889599a3ea6fae0f68913a4570df0bf7f..9e85c04161090e7687024906e2d288f3132cb4c1 100644 (file)
@@ -1217,21 +1217,21 @@ int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw)
 }
 
 struct inet_connection_sock_af_ops ipv4_specific = {
-       .queue_xmit     =       ip_queue_xmit,
-       .send_check     =       tcp_v4_send_check,
-       .rebuild_header =       inet_sk_rebuild_header,
-       .conn_request   =       tcp_v4_conn_request,
-       .syn_recv_sock  =       tcp_v4_syn_recv_sock,
-       .remember_stamp =       tcp_v4_remember_stamp,
-       .net_header_len =       sizeof(struct iphdr),
-       .setsockopt     =       ip_setsockopt,
-       .getsockopt     =       ip_getsockopt,
+       .queue_xmit        = ip_queue_xmit,
+       .send_check        = tcp_v4_send_check,
+       .rebuild_header    = inet_sk_rebuild_header,
+       .conn_request      = tcp_v4_conn_request,
+       .syn_recv_sock     = tcp_v4_syn_recv_sock,
+       .remember_stamp    = tcp_v4_remember_stamp,
+       .net_header_len    = sizeof(struct iphdr),
+       .setsockopt        = ip_setsockopt,
+       .getsockopt        = ip_getsockopt,
+       .addr2sockaddr     = inet_csk_addr2sockaddr,
+       .sockaddr_len      = sizeof(struct sockaddr_in),
 #ifdef CONFIG_COMPAT
-       .compat_setsockopt =    compat_ip_setsockopt,
-       .compat_getsockopt =    compat_ip_getsockopt,
+       .compat_setsockopt = compat_ip_setsockopt,
+       .compat_getsockopt = compat_ip_getsockopt,
 #endif
-       .addr2sockaddr  =       inet_csk_addr2sockaddr,
-       .sockaddr_len   =       sizeof(struct sockaddr_in),
 };
 
 /* NOTE: A lot of things set to zero explicitly by call to
@@ -1812,10 +1812,6 @@ struct proto tcp_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_v4_do_rcv,
@@ -1834,6 +1830,10 @@ struct proto tcp_prot = {
        .obj_size               = sizeof(struct tcp_sock),
        .twsk_prot              = &tcp_timewait_sock_ops,
        .rsk_prot               = &tcp_request_sock_ops,
+#ifdef CONFIG_COMPAT
+       .compat_setsockopt      = compat_tcp_setsockopt,
+       .compat_getsockopt      = compat_tcp_getsockopt,
+#endif
 };
 
 void __init tcp_v4_init(struct net_proto_family *ops)
index 0b0721bd45c6b2e4c91d569427955a5dc8e668b3..3f93292b0ad8549366ce57938170e08116de1faf 100644 (file)
@@ -1263,11 +1263,10 @@ static int udp_setsockopt(struct sock *sk, int level, int optname,
 
 #ifdef CONFIG_COMPAT
 static int compat_udp_setsockopt(struct sock *sk, int level, int optname,
-               char __user *optval, int optlen)
+                                char __user *optval, int optlen)
 {
        if (level != SOL_UDP)
-               return compat_ip_setsockopt(sk, level,
-                               optname, optval, optlen);
+               return compat_ip_setsockopt(sk, level, optname, optval, optlen);
        return do_udp_setsockopt(sk, level, optname, optval, optlen);
 }
 #endif
@@ -1316,11 +1315,10 @@ static int udp_getsockopt(struct sock *sk, int level, int optname,
 
 #ifdef CONFIG_COMPAT
 static int compat_udp_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_ip_getsockopt(sk, level,
-                               optname, optval, optlen);
+               return compat_ip_getsockopt(sk, level, optname, optval, optlen);
        return do_udp_getsockopt(sk, level, optname, optval, optlen);
 }
 #endif
@@ -1372,27 +1370,27 @@ unsigned int udp_poll(struct file *file, struct socket *sock, poll_table *wait)
 }
 
 struct proto udp_prot = {
-       .name =         "UDP",
-       .owner =        THIS_MODULE,
-       .close =        udp_close,
-       .connect =      ip4_datagram_connect,
-       .disconnect =   udp_disconnect,
-       .ioctl =        udp_ioctl,
-       .destroy =      udp_destroy_sock,
-       .setsockopt =   udp_setsockopt,
-       .getsockopt =   udp_getsockopt,
+       .name              = "UDP",
+       .owner             = THIS_MODULE,
+       .close             = udp_close,
+       .connect           = ip4_datagram_connect,
+       .disconnect        = udp_disconnect,
+       .ioctl             = udp_ioctl,
+       .destroy           = udp_destroy_sock,
+       .setsockopt        = udp_setsockopt,
+       .getsockopt        = udp_getsockopt,
+       .sendmsg           = udp_sendmsg,
+       .recvmsg           = udp_recvmsg,
+       .sendpage          = udp_sendpage,
+       .backlog_rcv       = udp_queue_rcv_skb,
+       .hash              = udp_v4_hash,
+       .unhash            = udp_v4_unhash,
+       .get_port          = udp_v4_get_port,
+       .obj_size          = sizeof(struct udp_sock),
 #ifdef CONFIG_COMPAT
-       .compat_setsockopt =    compat_udp_setsockopt,
-       .compat_getsockopt =    compat_udp_getsockopt,
+       .compat_setsockopt = compat_udp_setsockopt,
+       .compat_getsockopt = compat_udp_getsockopt,
 #endif
-       .sendmsg =      udp_sendmsg,
-       .recvmsg =      udp_recvmsg,
-       .sendpage =     udp_sendpage,
-       .backlog_rcv =  udp_queue_rcv_skb,
-       .hash =         udp_v4_hash,
-       .unhash =       udp_v4_unhash,
-       .get_port =     udp_v4_get_port,
-       .obj_size =     sizeof(struct udp_sock),
 };
 
 /* ------------------------------------------------------------------------ */
index 97844c4cd9b19ba26aeddc9921df2c714a602293..e19457fe4f6edb79ef059dbf88f93ed1836bc8d9 100644 (file)
@@ -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 = {
index 988eac58e9d100298651a2b96f4ef82b7bc9bd41..602feec477381ff03f5e598ba533cad8c750de83 100644 (file)
@@ -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)
index 61419e11e35de22ec0ee0301d9c61769d35e4345..16482785bdfddf322fad974dfe3e407285549ee2 100644 (file)
@@ -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);
index 8de5a8e59149dd13fd48692e1a4c7a73c2d3a34c..0f63078af41f0c91d10a0fb8055a4688a10be71e 100644 (file)
@@ -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
index 2f8975e0150a6c675de7e422a14ef5d13976b3f5..301eee726b0ff64eb8e3dc24b4432550e28de876 100644 (file)
@@ -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 = {
index 538ada00646aba6315f2c50af3c5e23aa354215e..8d3432a70f3a6e25d1a32cb5793e91f8fa380bca 100644 (file)
@@ -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 = {
index da1cd48de2166936d843efcfb8f3f40b5a6108cf..0a63d7dac7bea3015895b5fdd960e59926fd634c 100644 (file)
@@ -133,7 +133,7 @@ EXPORT_SYMBOL(nf_getsockopt);
 
 #ifdef CONFIG_COMPAT
 static int compat_nf_sockopt(struct sock *sk, int pf, int val,
-                     char __user *opt, int *len, int get)
+                            char __user *opt, int *len, int get)
 {
        struct list_head *i;
        struct nf_sockopt_ops *ops;
index bbee14d01c9b9c6106c232db4737910bc629eeb4..c20d282fac06372cb70276c6d424c4d4f0c96428 100644 (file)
@@ -861,27 +861,27 @@ static int sctp_inet6_supported_addrs(const struct sctp_sock *opt,
 }
 
 static const struct proto_ops inet6_seqpacket_ops = {
-       .family     = PF_INET6,
-       .owner      = THIS_MODULE,
-       .release    = inet6_release,
-       .bind       = inet6_bind,
-       .connect    = inet_dgram_connect,
-       .socketpair = sock_no_socketpair,
-       .accept     = inet_accept,
-       .getname    = inet6_getname,
-       .poll       = sctp_poll,
-       .ioctl      = inet6_ioctl,
-       .listen     = sctp_inet_listen,
-       .shutdown   = inet_shutdown,
-       .setsockopt = sock_common_setsockopt,
-       .getsockopt = sock_common_getsockopt,
+       .family            = PF_INET6,
+       .owner             = THIS_MODULE,
+       .release           = inet6_release,
+       .bind              = inet6_bind,
+       .connect           = inet_dgram_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = inet_accept,
+       .getname           = inet6_getname,
+       .poll              = sctp_poll,
+       .ioctl             = inet6_ioctl,
+       .listen            = sctp_inet_listen,
+       .shutdown          = inet_shutdown,
+       .setsockopt        = sock_common_setsockopt,
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .mmap              = sock_no_mmap,
 #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,
-       .recvmsg    = sock_common_recvmsg,
-       .mmap       = sock_no_mmap,
 };
 
 static struct inet_protosw sctpv6_seqpacket_protosw = {
@@ -915,35 +915,35 @@ static struct inet6_protocol sctpv6_protocol = {
 };
 
 static struct sctp_af sctp_ipv6_specific = {
-       .sctp_xmit       = sctp_v6_xmit,
-       .setsockopt      = ipv6_setsockopt,
-       .getsockopt      = ipv6_getsockopt,
+       .sa_family         = AF_INET6,
+       .sctp_xmit         = sctp_v6_xmit,
+       .setsockopt        = ipv6_setsockopt,
+       .getsockopt        = ipv6_getsockopt,
+       .get_dst           = sctp_v6_get_dst,
+       .get_saddr         = sctp_v6_get_saddr,
+       .copy_addrlist     = sctp_v6_copy_addrlist,
+       .from_skb          = sctp_v6_from_skb,
+       .from_sk           = sctp_v6_from_sk,
+       .to_sk_saddr       = sctp_v6_to_sk_saddr,
+       .to_sk_daddr       = sctp_v6_to_sk_daddr,
+       .from_addr_param   = sctp_v6_from_addr_param,
+       .to_addr_param     = sctp_v6_to_addr_param,
+       .dst_saddr         = sctp_v6_dst_saddr,
+       .cmp_addr          = sctp_v6_cmp_addr,
+       .scope             = sctp_v6_scope,
+       .addr_valid        = sctp_v6_addr_valid,
+       .inaddr_any        = sctp_v6_inaddr_any,
+       .is_any            = sctp_v6_is_any,
+       .available         = sctp_v6_available,
+       .skb_iif           = sctp_v6_skb_iif,
+       .is_ce             = sctp_v6_is_ce,
+       .seq_dump_addr     = sctp_v6_seq_dump_addr,
+       .net_header_len    = sizeof(struct ipv6hdr),
+       .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
-       .get_dst         = sctp_v6_get_dst,
-       .get_saddr       = sctp_v6_get_saddr,
-       .copy_addrlist   = sctp_v6_copy_addrlist,
-       .from_skb        = sctp_v6_from_skb,
-       .from_sk         = sctp_v6_from_sk,
-       .to_sk_saddr     = sctp_v6_to_sk_saddr,
-       .to_sk_daddr     = sctp_v6_to_sk_daddr,
-       .from_addr_param = sctp_v6_from_addr_param,
-       .to_addr_param   = sctp_v6_to_addr_param,
-       .dst_saddr       = sctp_v6_dst_saddr,
-       .cmp_addr        = sctp_v6_cmp_addr,
-       .scope           = sctp_v6_scope,
-       .addr_valid      = sctp_v6_addr_valid,
-       .inaddr_any      = sctp_v6_inaddr_any,
-       .is_any          = sctp_v6_is_any,
-       .available       = sctp_v6_available,
-       .skb_iif         = sctp_v6_skb_iif,
-       .is_ce           = sctp_v6_is_ce,
-       .seq_dump_addr   = sctp_v6_seq_dump_addr,
-       .net_header_len  = sizeof(struct ipv6hdr),
-       .sockaddr_len    = sizeof(struct sockaddr_in6),
-       .sa_family       = AF_INET6,
 };
 
 static struct sctp_pf sctp_pf_inet6_specific = {
index d90f5491870f2d91e2e7a04cfeec467163d9b796..2088aa992b7abf91e3dd5391789efc7cc228eb03 100644 (file)
@@ -831,28 +831,28 @@ static struct notifier_block sctp_inetaddr_notifier = {
 
 /* Socket operations.  */
 static const struct proto_ops inet_seqpacket_ops = {
-       .family      = PF_INET,
-       .owner       = THIS_MODULE,
-       .release     = inet_release,       /* Needs to be wrapped... */
-       .bind        = inet_bind,
-       .connect     = inet_dgram_connect,
-       .socketpair  = sock_no_socketpair,
-       .accept      = inet_accept,
-       .getname     = inet_getname,      /* Semantics are different.  */
-       .poll        = sctp_poll,
-       .ioctl       = inet_ioctl,
-       .listen      = sctp_inet_listen,
-       .shutdown    = inet_shutdown,     /* Looks harmless.  */
-       .setsockopt  = sock_common_setsockopt,   /* IP_SOL IP_OPTION is a problem. */
-       .getsockopt  = sock_common_getsockopt,
+       .family            = PF_INET,
+       .owner             = THIS_MODULE,
+       .release           = inet_release,      /* Needs to be wrapped... */
+       .bind              = inet_bind,
+       .connect           = inet_dgram_connect,
+       .socketpair        = sock_no_socketpair,
+       .accept            = inet_accept,
+       .getname           = inet_getname,      /* Semantics are different.  */
+       .poll              = sctp_poll,
+       .ioctl             = inet_ioctl,
+       .listen            = sctp_inet_listen,
+       .shutdown          = inet_shutdown,     /* Looks harmless.  */
+       .setsockopt        = sock_common_setsockopt, /* IP_SOL IP_OPTION is a problem */
+       .getsockopt        = sock_common_getsockopt,
+       .sendmsg           = inet_sendmsg,
+       .recvmsg           = sock_common_recvmsg,
+       .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,
-       .recvmsg     = sock_common_recvmsg,
-       .mmap        = sock_no_mmap,
-       .sendpage    = sock_no_sendpage,
 };
 
 /* Registration with AF_INET family.  */
@@ -884,35 +884,35 @@ static struct net_protocol sctp_protocol = {
 
 /* IPv4 address related functions.  */
 static struct sctp_af sctp_ipv4_specific = {
-       .sctp_xmit      = sctp_v4_xmit,
-       .setsockopt     = ip_setsockopt,
-       .getsockopt     = ip_getsockopt,
+       .sa_family         = AF_INET,
+       .sctp_xmit         = sctp_v4_xmit,
+       .setsockopt        = ip_setsockopt,
+       .getsockopt        = ip_getsockopt,
+       .get_dst           = sctp_v4_get_dst,
+       .get_saddr         = sctp_v4_get_saddr,
+       .copy_addrlist     = sctp_v4_copy_addrlist,
+       .from_skb          = sctp_v4_from_skb,
+       .from_sk           = sctp_v4_from_sk,
+       .to_sk_saddr       = sctp_v4_to_sk_saddr,
+       .to_sk_daddr       = sctp_v4_to_sk_daddr,
+       .from_addr_param   = sctp_v4_from_addr_param,
+       .to_addr_param     = sctp_v4_to_addr_param,
+       .dst_saddr         = sctp_v4_dst_saddr,
+       .cmp_addr          = sctp_v4_cmp_addr,
+       .addr_valid        = sctp_v4_addr_valid,
+       .inaddr_any        = sctp_v4_inaddr_any,
+       .is_any            = sctp_v4_is_any,
+       .available         = sctp_v4_available,
+       .scope             = sctp_v4_scope,
+       .skb_iif           = sctp_v4_skb_iif,
+       .is_ce             = sctp_v4_is_ce,
+       .seq_dump_addr     = sctp_v4_seq_dump_addr,
+       .net_header_len    = sizeof(struct iphdr),
+       .sockaddr_len      = sizeof(struct sockaddr_in),
 #ifdef CONFIG_COMPAT
-       .compat_setsockopt     = compat_ip_setsockopt,
-       .compat_getsockopt     = compat_ip_getsockopt,
+       .compat_setsockopt = compat_ip_setsockopt,
+       .compat_getsockopt = compat_ip_getsockopt,
 #endif
-       .get_dst        = sctp_v4_get_dst,
-       .get_saddr      = sctp_v4_get_saddr,
-       .copy_addrlist  = sctp_v4_copy_addrlist,
-       .from_skb       = sctp_v4_from_skb,
-       .from_sk        = sctp_v4_from_sk,
-       .to_sk_saddr    = sctp_v4_to_sk_saddr,
-       .to_sk_daddr    = sctp_v4_to_sk_daddr,
-       .from_addr_param= sctp_v4_from_addr_param,
-       .to_addr_param  = sctp_v4_to_addr_param,        
-       .dst_saddr      = sctp_v4_dst_saddr,
-       .cmp_addr       = sctp_v4_cmp_addr,
-       .addr_valid     = sctp_v4_addr_valid,
-       .inaddr_any     = sctp_v4_inaddr_any,
-       .is_any         = sctp_v4_is_any,
-       .available      = sctp_v4_available,
-       .scope          = sctp_v4_scope,
-       .skb_iif        = sctp_v4_skb_iif,
-       .is_ce          = sctp_v4_is_ce,
-       .seq_dump_addr  = sctp_v4_seq_dump_addr,
-       .net_header_len = sizeof(struct iphdr),
-       .sockaddr_len   = sizeof(struct sockaddr_in),
-       .sa_family      = AF_INET,
 };
 
 struct sctp_pf *sctp_get_pf_specific(sa_family_t family) {