All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: David Miller <davem@davemloft.net>
Cc: <netdev@vger.kernel.org>, "Serge E. Hallyn" <serge@hallyn.com>,
	Gao feng <gaofeng@cn.fujitsu.com>,
	pablo@netfilter.org, Stephen Hemminger <shemminger@vyatta.com>,
	Pavel Emelyanov <xemul@openvz.org>
Subject: [PATCH net-next 01/19] net: Implement register_net_sysctl.
Date: Thu, 19 Apr 2012 16:18:47 -0700	[thread overview]
Message-ID: <m162cvia3s.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <m1aa27ia6h.fsf@fess.ebiederm.org> (Eric W. Biederman's message of "Thu, 19 Apr 2012 16:17:10 -0700")


Right now all of the networking sysctl registrations are running in a
compatibiity mode.  The natvie sysctl registration api takes a cstring
for a path and a simple ctl_table.  Implement register_net_sysctl so
that we can register network sysctls without needing to use
compatiblity code in the sysctl core.

Switching from a ctl_path to a cstring results in less boiler plate
and denser code that is a little easier to read.

I would simply have changed the arguments to register_net_sysctl_table
instead of keeping two functions in parallel but gcc will allow a
ctl_path pointer to be passed to a char * pointer with only issuing a
warning resulting in completely incorrect code can be built.  Since I
have to change the function name I am taking advantage of the situation
to let both register_net_sysctl and register_net_sysctl_table live for a
short time in parallel which makes clean conversion patches a bit easier
to read and write.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
---
 include/net/net_namespace.h |    2 ++
 net/sysctl_net.c            |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index ee547c1..446245e 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -287,6 +287,8 @@ extern struct ctl_table_header *register_net_sysctl_table(struct net *net,
 	const struct ctl_path *path, struct ctl_table *table);
 extern struct ctl_table_header *register_net_sysctl_rotable(
 	const struct ctl_path *path, struct ctl_table *table);
+extern struct ctl_table_header *register_net_sysctl(struct net *net,
+	const char *path, struct ctl_table *table);
 extern void unregister_net_sysctl_table(struct ctl_table_header *header);
 
 #endif /* __NET_NET_NAMESPACE_H */
diff --git a/net/sysctl_net.c b/net/sysctl_net.c
index c3e65ae..3865c4f 100644
--- a/net/sysctl_net.c
+++ b/net/sysctl_net.c
@@ -117,6 +117,13 @@ struct ctl_table_header *register_net_sysctl_rotable(const
 }
 EXPORT_SYMBOL_GPL(register_net_sysctl_rotable);
 
+struct ctl_table_header *register_net_sysctl(struct net *net,
+	const char *path, struct ctl_table *table)
+{
+	return __register_sysctl_table(&net->sysctls, path, table);
+}
+EXPORT_SYMBOL_GPL(register_net_sysctl);
+
 void unregister_net_sysctl_table(struct ctl_table_header *header)
 {
 	unregister_sysctl_table(header);
-- 
1.7.2.5

  reply	other threads:[~2012-04-19 23:14 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-19 23:17 [PATCH net-next 00/19] net: Sysctl simplifications and enhancements Eric W. Biederman
2012-04-19 23:18 ` Eric W. Biederman [this message]
2012-04-20  5:27   ` [PATCH net-next 01/19] net: Implement register_net_sysctl Pavel Emelyanov
2012-04-20  8:11     ` Eric W. Biederman
2012-04-20  8:45       ` Pavel Emelyanov
2012-04-19 23:19 ` [PATCH net-next 02/19] net sysctl: Register an empty /proc/sys/net Eric W. Biederman
2012-04-19 23:20 ` [PATCH net-next 03/19] net sysctl: Initialize the network sysctls sooner to avoid problems Eric W. Biederman
2012-04-19 23:22 ` [PATCH net-next 04/19] net: Kill register_sysctl_rotable Eric W. Biederman
2012-04-20 13:53   ` Serge E. Hallyn
2012-04-20 14:42     ` Eric W. Biederman
2012-04-19 23:24 ` [PATCH net-next 05/19] net: Move all of the network sysctls without a namespace into init_net Eric W. Biederman
2012-04-23  0:38   ` Gao feng
2012-04-23  1:50     ` Eric W. Biederman
2012-04-23  2:29       ` Gao feng
2012-04-19 23:25 ` [PATCH net-next 06/19] net core: Remove unneded creation of an empty net/core sysctl directory Eric W. Biederman
2012-04-19 23:26 ` [PATCH net-next 07/19] net ipv6: Remove unneded registration of an empty net/ipv6/neigh Eric W. Biederman
2012-04-19 23:32 ` [PATCH net-next 08/19] net ipv4: Remove the unneeded registration of an empty net/ipv4/neigh Eric W. Biederman
2012-04-19 23:34 ` [PATCH net-next 09/19] net ax25: Simplify and cleanup the ax25 sysctl handling Eric W. Biederman
2012-04-19 23:35 ` [PATCH net-next 10/19] net llc: Don't use sysctl tables with .child entries Eric W. Biederman
2012-04-19 23:37 ` [PATCH net-next 11/19] net ipv6: " Eric W. Biederman
2012-04-19 23:38 ` [PATCH net-next 12/19] net neighbour: Convert to use register_net_sysctl Eric W. Biederman
2012-04-20  5:21   ` Pavel Emelyanov
2012-04-20  7:25     ` Eric W. Biederman
2012-04-22  2:36       ` Ben Hutchings
2012-04-19 23:40 ` [PATCH net-next 13/19] net decnet: " Eric W. Biederman
2012-04-19 23:41 ` [PATCH net-next 14/19] net ipv6: Convert addrconf " Eric W. Biederman
2012-04-19 23:42 ` [PATCH net-next 15/19] net ipv4: Convert devinet " Eric W. Biederman
2012-04-19 23:43 ` [PATCH net-next 16/19] net: Convert nf_conntrack_proto " Eric W. Biederman
2012-04-19 23:44 ` [PATCH net-next 17/19] net: Convert all sysctl registrations to register_net_sysctl Eric W. Biederman
2012-04-19 23:45 ` [PATCH net-next 18/19] net: Delete all remaining instances of ctl_path Eric W. Biederman
2012-04-19 23:46 ` [PATCH net-next 19/19] net: Remove register_net_sysctl_table Eric W. Biederman
2012-04-20  8:45 ` [PATCH net-next 00/19] net: Sysctl simplifications and enhancements Pavel Emelyanov
2012-04-21  1:24   ` 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=m162cvia3s.fsf@fess.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=davem@davemloft.net \
    --cc=gaofeng@cn.fujitsu.com \
    --cc=netdev@vger.kernel.org \
    --cc=pablo@netfilter.org \
    --cc=serge@hallyn.com \
    --cc=shemminger@vyatta.com \
    --cc=xemul@openvz.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.