Re: linux-next: Tree for May 16 (net/ipv4/ping)

From: Eric Dumazet
Date: Tue May 17 2011 - 05:54:17 EST


Le lundi 16 mai 2011 Ã 15:38 -0400, David Miller a Ãcrit :
> From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> Date: Mon, 16 May 2011 12:35:34 -0700
>
> > On Mon, 16 May 2011 15:10:19 +1000 Stephen Rothwell wrote:
> >
> >> Hi all,
> >>
> >> Changes since 20110513:
> >
> >
> > when CONFIG_PROC_SYSCTL is not enabled:
> >
> > ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net'
>
> Vasiliy, please fix this.

Vasily seems busy, here is a fix for this problem.

I tested new ping was working even if we could not set the group range
anymore.

Thanks

[PATCH net-next-2.6] net: ping: fix build error

Randy Dunlap reported following build error if CONFIG_PROC_SYSCTL is not
enabled:

ping.c:(.text+0x52af3): undefined reference to
`inet_get_ping_group_range_net'

Also made inet_get_ping_group_range_table() static

Reported-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
CC: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
---
net/ipv4/inet_connection_sock.c | 14 ++++++++++++++
net/ipv4/sysctl_net_ipv4.c | 14 +-------------
2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index 3a2ba56..e5c0729 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -23,6 +23,7 @@
#include <net/route.h>
#include <net/tcp_states.h>
#include <net/xfrm.h>
+#include <net/ping.h>

#ifdef INET_CSK_DEBUG
const char inet_csk_timer_bug_msg[] = "inet_csk BUG: unknown timer value\n";
@@ -52,6 +53,19 @@ void inet_get_local_port_range(int *low, int *high)
}
EXPORT_SYMBOL(inet_get_local_port_range);

+void inet_get_ping_group_range_net(struct net *net, gid_t *low, gid_t *high)
+{
+ const gid_t *data = net->ipv4.sysctl_ping_group_range;
+ unsigned int seq;
+
+ do {
+ seq = read_seqbegin(&sysctl_local_ports.lock);
+
+ *low = data[0];
+ *high = data[1];
+ } while (read_seqretry(&sysctl_local_ports.lock, seq));
+}
+
int inet_csk_bind_conflict(const struct sock *sk,
const struct inet_bind_bucket *tb)
{
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 28e8273..dc5d2a0 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -73,19 +73,7 @@ static int ipv4_local_port_range(ctl_table *table, int write,
}


-void inet_get_ping_group_range_net(struct net *net, gid_t *low, gid_t *high)
-{
- gid_t *data = net->ipv4.sysctl_ping_group_range;
- unsigned seq;
- do {
- seq = read_seqbegin(&sysctl_local_ports.lock);
-
- *low = data[0];
- *high = data[1];
- } while (read_seqretry(&sysctl_local_ports.lock, seq));
-}
-
-void inet_get_ping_group_range_table(struct ctl_table *table, gid_t *low, gid_t *high)
+static void inet_get_ping_group_range_table(struct ctl_table *table, gid_t *low, gid_t *high)
{
gid_t *data = table->data;
unsigned seq;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/