From: Djalal Harouni <tixxdz@opendz.org>
To: "David S. Miller" <davem@davemloft.net>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Al Viro <viro@zeniv.linux.org.uk>
Cc: netdev@vger.kernel.org
Subject: [PATCH] net: reference the ipv4 sysctl table header
Date: Mon, 26 Mar 2012 23:23:59 +0100 [thread overview]
Message-ID: <20120326222359.GB28123@dztty> (raw)
I've been analysing some kmemleak reports of an internal module, and
found that there are false positive reports of unreferenced objects.
The following patch is just a clean up for one of those false positives,
this is for the /proc/sys/net/ipv4 sysctl table.
As I've said there are other reports but don't know if it is worth to
write patches for them.
---
From: Djalal Harouni <tixxdz@opendz.org>
Subject: [PATCH] net: reference the ipv4 sysctl table header
Reference the ipv4 sysctl table header allocated and returned by
register_sysctl_paths().
Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
---
include/net/ip.h | 2 +-
net/ipv4/af_inet.c | 12 ++++++++++--
net/ipv4/route.c | 10 ++++++++--
3 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/include/net/ip.h b/include/net/ip.h
index b53d65f..6a12687 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -235,7 +235,7 @@ extern int sysctl_ip_dynaddr;
extern void ipfrag_init(void);
-extern void ip_static_sysctl_init(void);
+extern int ip_static_sysctl_init(void);
static inline bool ip_is_fragment(const struct iphdr *iph)
{
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index fdf49fd..340d298 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1666,10 +1666,14 @@ static int __init inet_init(void)
* Tell SOCKET that we are alive...
*/
- (void)sock_register(&inet_family_ops);
+ rc = sock_register(&inet_family_ops);
+ if (rc)
+ goto out_unregister_ping_prot;
#ifdef CONFIG_SYSCTL
- ip_static_sysctl_init();
+ rc = ip_static_sysctl_init();
+ if (rc)
+ goto out_unregister_sock;
#endif
tcp_prot.sysctl_mem = init_net.ipv4.sysctl_tcp_mem;
@@ -1751,6 +1755,10 @@ static int __init inet_init(void)
rc = 0;
out:
return rc;
+out_unregister_sock:
+ sock_unregister(PF_INET);
+out_unregister_ping_prot:
+ proto_unregister(&ping_prot);
out_unregister_raw_proto:
proto_unregister(&raw_prot);
out_unregister_udp_proto:
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 12ccf88..bc899f2 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3500,12 +3500,18 @@ int __init ip_rt_init(void)
}
#ifdef CONFIG_SYSCTL
+static struct ctl_table_header *ip4_base;
+
/*
* We really need to sanitize the damn ipv4 init order, then all
* this nonsense will go away.
*/
-void __init ip_static_sysctl_init(void)
+int __init ip_static_sysctl_init(void)
{
- register_sysctl_paths(ipv4_path, ipv4_skeleton);
+ ip4_base = register_sysctl_paths(ipv4_path, ipv4_skeleton);
+ if (!ip4_base)
+ return -ENOMEM;
+
+ return 0;
}
#endif
--
1.7.1
next reply other threads:[~2012-03-26 22:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-26 22:23 Djalal Harouni [this message]
2012-03-26 22:24 ` [PATCH] net: reference the ipv4 sysctl table header David Miller
2012-03-26 22:42 ` Djalal Harouni
2012-03-28 16:32 ` Steven Rostedt
2012-03-28 20:51 ` David Miller
2012-03-31 14:29 ` Djalal Harouni
2012-03-26 22:50 ` Eric W. Biederman
2012-03-26 23:21 ` Djalal Harouni
2012-03-28 2:35 ` Eric W. Biederman
2012-03-31 14:25 ` Djalal Harouni
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=20120326222359.GB28123@dztty \
--to=tixxdz@opendz.org \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=netdev@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox