From: "Denis V. Lunev" <den@openvz.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, containers@lists.osdl.org,
"Denis V. Lunev" <den@openvz.org>
Subject: [PATCH 4/13 net-2.6.26] [INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.
Date: Mon, 31 Mar 2008 17:16:44 +0400 [thread overview]
Message-ID: <1206969413-12096-4-git-send-email-den@openvz.org> (raw)
In-Reply-To: <1206969367.10660.16.camel@iris.sw.ru>
This call is nothing common with INET connection sockets code. It simply
creates an unhashes kernel sockets for protocol messages.
Move the new call into af_inet.c after the rename.
Signed-off-by: Denis V. Lunev <den@openvz.org>
---
include/net/inet_common.h | 5 +++++
include/net/inet_connection_sock.h | 5 -----
net/dccp/ipv4.c | 4 ++--
net/dccp/ipv6.c | 4 ++--
net/ipv4/af_inet.c | 19 +++++++++++++++++++
net/ipv4/inet_connection_sock.c | 19 -------------------
net/ipv4/tcp_ipv4.c | 4 ++--
net/ipv6/tcp_ipv6.c | 3 ++-
8 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/include/net/inet_common.h b/include/net/inet_common.h
index 38d5a1e..d6238bd 100644
--- a/include/net/inet_common.h
+++ b/include/net/inet_common.h
@@ -39,6 +39,11 @@ extern int inet_getname(struct socket *sock,
extern int inet_ioctl(struct socket *sock,
unsigned int cmd, unsigned long arg);
+extern int inet_ctl_sock_create(struct socket **sock,
+ unsigned short family,
+ unsigned short type,
+ unsigned char protocol);
+
#endif
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
index f00f057..2ff545a 100644
--- a/include/net/inet_connection_sock.h
+++ b/include/net/inet_connection_sock.h
@@ -327,11 +327,6 @@ extern void inet_csk_listen_stop(struct sock *sk);
extern void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr);
-extern int inet_csk_ctl_sock_create(struct socket **sock,
- unsigned short family,
- unsigned short type,
- unsigned char protocol);
-
extern int inet_csk_compat_getsockopt(struct sock *sk, int level, int optname,
char __user *optval, int __user *optlen);
extern int inet_csk_compat_setsockopt(struct sock *sk, int level, int optname,
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c
index 6d8f684..feb3fa5 100644
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -1003,8 +1003,8 @@ static int __init dccp_v4_init(void)
inet_register_protosw(&dccp_v4_protosw);
- err = inet_csk_ctl_sock_create(&socket, PF_INET,
- SOCK_DCCP, IPPROTO_DCCP);
+ err = inet_ctl_sock_create(&socket, PF_INET,
+ SOCK_DCCP, IPPROTO_DCCP);
if (err)
goto out_unregister_protosw;
dccp_v4_ctl_sk = socket->sk;
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
index c5d9d1b..5690fbd 100644
--- a/net/dccp/ipv6.c
+++ b/net/dccp/ipv6.c
@@ -1185,8 +1185,8 @@ static int __init dccp_v6_init(void)
inet6_register_protosw(&dccp_v6_protosw);
- err = inet_csk_ctl_sock_create(&socket, PF_INET6,
- SOCK_DCCP, IPPROTO_DCCP);
+ err = inet_ctl_sock_create(&socket, PF_INET6,
+ SOCK_DCCP, IPPROTO_DCCP);
if (err != 0)
goto out_unregister_protosw;
dccp_v6_ctl_sk = socket->sk;
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 5882a13..7ab0bd6 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1250,6 +1250,25 @@ out:
return segs;
}
+int inet_ctl_sock_create(struct socket **sock, unsigned short family,
+ unsigned short type, unsigned char protocol)
+{
+ int rc = sock_create_kern(family, type, protocol, sock);
+
+ if (rc == 0) {
+ (*sock)->sk->sk_allocation = GFP_ATOMIC;
+ inet_sk((*sock)->sk)->uc_ttl = -1;
+ /*
+ * Unhash it so that IP input processing does not even see it,
+ * we do not wish this socket to see incoming packets.
+ */
+ (*sock)->sk->sk_prot->unhash((*sock)->sk);
+ }
+ return rc;
+}
+
+EXPORT_SYMBOL_GPL(inet_ctl_sock_create);
+
unsigned long snmp_fold_field(void *mib[], int offt)
{
unsigned long res = 0;
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index a7fcaf2..ee55678 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -651,25 +651,6 @@ void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr)
EXPORT_SYMBOL_GPL(inet_csk_addr2sockaddr);
-int inet_csk_ctl_sock_create(struct socket **sock, unsigned short family,
- unsigned short type, unsigned char protocol)
-{
- int rc = sock_create_kern(family, type, protocol, sock);
-
- if (rc == 0) {
- (*sock)->sk->sk_allocation = GFP_ATOMIC;
- inet_sk((*sock)->sk)->uc_ttl = -1;
- /*
- * Unhash it so that IP input processing does not even see it,
- * we do not wish this socket to see incoming packets.
- */
- (*sock)->sk->sk_prot->unhash((*sock)->sk);
- }
- return rc;
-}
-
-EXPORT_SYMBOL_GPL(inet_csk_ctl_sock_create);
-
#ifdef CONFIG_COMPAT
int inet_csk_compat_getsockopt(struct sock *sk, int level, int optname,
char __user *optval, int __user *optlen)
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 1d77f37..edf5a37 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -2491,8 +2491,8 @@ struct proto tcp_prot = {
void __init tcp_v4_init(void)
{
struct socket *__tcp_socket;
- if (inet_csk_ctl_sock_create(&__tcp_socket, PF_INET, SOCK_RAW,
- IPPROTO_TCP) < 0)
+ if (inet_ctl_sock_create(&__tcp_socket, PF_INET, SOCK_RAW,
+ IPPROTO_TCP) < 0)
panic("Failed to create the TCP control socket.\n");
tcp_sock = __tcp_socket->sk;
}
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 6d851c3..d98222f 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -60,6 +60,7 @@
#include <net/dsfield.h>
#include <net/timewait_sock.h>
#include <net/netdma.h>
+#include <net/inet_common.h>
#include <asm/uaccess.h>
@@ -2202,7 +2203,7 @@ static int tcpv6_net_init(struct net *net)
struct socket *sock;
struct sock *sk;
- err = inet_csk_ctl_sock_create(&sock, PF_INET6, SOCK_RAW, IPPROTO_TCP);
+ err = inet_ctl_sock_create(&sock, PF_INET6, SOCK_RAW, IPPROTO_TCP);
if (err)
return err;
--
1.5.3.rc5
next prev parent reply other threads:[~2008-03-31 13:16 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-31 13:16 [PATCH 0/13 net-2.6.26] UDP/ICMP/TCP for a namespace v2 Denis V. Lunev
2008-03-31 13:16 ` [PATCH 1/13 net-2.6.26] [TCP]: Replace socket with sock for reset sending Denis V. Lunev
2008-03-31 13:44 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 2/13 net-2.6.26] [DCCP]: " Denis V. Lunev
2008-03-31 13:44 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 3/13 net-2.6.26] [DCCP]: dccp_v(4|6)_ctl_socket is leaked Denis V. Lunev
2008-03-31 13:46 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` Denis V. Lunev [this message]
2008-03-31 13:43 ` [PATCH 4/13 net-2.6.26] [INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 5/13 net-2.6.26] [SCTP]: Use inet_ctl_sock_create for control socket creation Denis V. Lunev
2008-03-31 13:46 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 6/13 net-2.6.26] [SCTP]: Replace socket with sock for SCTP control socket Denis V. Lunev
2008-03-31 13:47 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 7/13 net-2.6.26] [INET]: Let inet_ctl_sock_create return sock rather than socket Denis V. Lunev
2008-03-31 13:49 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 8/13 net-2.6.26] [NETNS]: Inet control socket should not hold a namespace Denis V. Lunev
2008-03-31 13:51 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 9/13 net-2.6.26] [ICMP]: Simplify ICMP control socket creation Denis V. Lunev
2008-03-31 13:51 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 10/13 net-2.6.26] [INET]: uc_ttl assignment in inet_ctl_sock_create is redundant Denis V. Lunev
2008-03-31 13:16 ` [PATCH 11/13 net-2.6.26] [IPV6]: Simplify IPv6 control sockets creation Denis V. Lunev
2008-03-31 13:52 ` Arnaldo Carvalho de Melo
2008-03-31 13:16 ` [PATCH 12/13 net-2.6.26] [NETNS]: Create tcp control socket in the each namespace Denis V. Lunev
2008-03-31 13:16 ` [PATCH 13/13 net-2.6.26] [NETNS]: Use TCP control socket from a correct namespace Denis V. Lunev
2008-04-03 21:58 ` [PATCH 0/13 net-2.6.26] UDP/ICMP/TCP for a namespace v2 David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1206969413-12096-4-git-send-email-den@openvz.org \
--to=den@openvz.org \
--cc=containers@lists.osdl.org \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.