net: ping: fix build failure

If CONFIG_PROC_SYSCTL=n the building process fails:

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

Moved inet_get_ping_group_range_net() to ping.c.

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vasiliy Kulikov 2011-05-17 00:16:56 +00:00 committed by David S. Miller
parent 6dcae1eaee
commit f56e03e8dc
3 changed files with 13 additions and 14 deletions

View file

@ -44,8 +44,6 @@ extern struct proto ping_prot;
extern void ping_rcv(struct sk_buff *); extern void ping_rcv(struct sk_buff *);
extern void ping_err(struct sk_buff *, u32 info); extern void ping_err(struct sk_buff *, u32 info);
extern void inet_get_ping_group_range_net(struct net *net, unsigned int *low, unsigned int *high);
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
extern int __init ping_proc_init(void); extern int __init ping_proc_init(void);
extern void ping_proc_exit(void); extern void ping_proc_exit(void);

View file

@ -187,6 +187,19 @@ static struct sock *ping_v4_lookup(struct net *net, u32 saddr, u32 daddr,
return sk; return sk;
} }
static 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));
}
static int ping_init_sock(struct sock *sk) static int ping_init_sock(struct sock *sk)
{ {
struct net *net = sock_net(sk); struct net *net = sock_net(sk);

View file

@ -73,18 +73,6 @@ 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) void inet_get_ping_group_range_table(struct ctl_table *table, gid_t *low, gid_t *high)
{ {
gid_t *data = table->data; gid_t *data = table->data;