2011-05-16 05:10:25

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: Tree for May 16

Hi all,

Changes since 20110513:

Dropped trees: xen

The arm tree lost its build failure.

The ux500-core tree lost its conflict.

The wireless tree gained a build failure so I used the version from
next-20110613.

The tip tree lost its conflicts.

The security-testing tree gained a conflict against Linus' tree.

The namepsace tree tree gained a conflict against Linus' tree.

The staging tree gained a conflict against Linus' tree.

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/v2.6/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).

You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.

Below is a summary of the state of the merge.

We are up to 191 trees (counting Linus' and 28 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Randy Dunlap for doing many randconfig builds.

There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.

--
Cheers,
Stephen Rothwell [email protected]

$ git checkout master
$ git reset --hard stable
Merging origin/master
Merging fixes/fixes
Merging kbuild-current/rc-fixes
Merging arm-current/master
Merging m68k-current/for-linus
Merging powerpc-merge/merge
Merging 52xx-and-virtex-current/powerpc/merge
Merging sparc-current/master
Merging scsi-rc-fixes/master
Merging net-current/master
Merging sound-current/for-linus
Merging pci-current/for-linus
Merging wireless-current/master
Merging driver-core.current/driver-core-linus
Merging tty.current/tty-linus
Merging usb.current/usb-linus
Merging staging.current/staging-linus
Merging cpufreq-current/fixes
Merging input-current/for-linus
Merging md-current/for-linus
Merging audit-current/for-linus
Merging crypto-current/master
Merging ide-curent/master
Merging dwmw2/master
Merging sh-current/sh-fixes-for-linus
Merging rmobile-current/rmobile-fixes-for-linus
Merging fbdev-current/fbdev-fixes-for-linus
Merging devicetree-current/devicetree/merge
Merging spi-current/spi/merge
Merging arm/for-next
Merging at91/at91-next
Merging davinci/davinci-next
Merging i.MX/for-next
Merging linux-spec/for-next
Merging msm/for-next
Merging omap/for-next
Merging pxa/for-next
Merging samsung/next-samsung
Merging s5p/for-next
Merging tegra/for-next
Merging ux500-core/ux500-core
Merging xilinx/arm-next
Merging avr32/avr32-arch
Merging blackfin/for-linus
Merging cris/for-next
Merging ia64/test
Merging m68k/for-next
Merging m68knommu/for-next
Merging microblaze/next
Merging mips/mips-for-linux-next
Merging parisc/for-next
Merging powerpc/next
Merging 4xx/next
Merging 52xx-and-virtex/powerpc/next
Merging galak/next
Merging s390/features
Merging sh/sh-latest
Merging rmobile/rmobile-latest
Merging sparc/master
Merging tile/master
Merging unicore32/unicore32
CONFLICT (content): Merge conflict in drivers/net/Kconfig
Merging xtensa/master
CONFLICT (content): Merge conflict in arch/xtensa/configs/iss_defconfig
Merging ceph/for-next
Merging cifs/master
Merging configfs/linux-next
Merging ecryptfs/next
Merging ext3/for_next
Merging ext4/dev
Merging fatfs/master
Merging fuse/for-next
Merging gfs2/master
Merging hfsplus/for-next
Merging jfs/next
Merging logfs/master
CONFLICT (content): Merge conflict in fs/logfs/logfs.h
Merging nfs/linux-next
Merging nfsd/nfsd-next
Merging nilfs2/for-next
Merging ocfs2/linux-next
Merging omfs/for-next
Merging squashfs/master
Merging udf/for_next
Merging v9fs/for-next
Merging ubifs/linux-next
Merging xfs/master
Merging vfs/for-next
Merging vfs-scale/vfs-scale-working
Merging pci/linux-next
CONFLICT (content): Merge conflict in include/linux/pci_ids.h
Merging hid/for-next
Merging quilt/i2c
Merging bjdooks-i2c/next-i2c
Merging quilt/jdelvare-hwmon
Merging hwmon-staging/hwmon-next
Merging quilt/kernel-doc
Merging docs/docs-move
Merging v4l-dvb/master
Merging kbuild/for-next
Merging kconfig/for-next
Merging ide/master
Merging libata/NEXT
Merging infiniband/for-next
Merging acpi/test
Merging idle-test/idle-test
Merging powertools/tools-test
Merging cpupowerutils/master
Merging ieee1394/for-next
Merging ubi/linux-next
Merging dlm/next
Merging swiotlb/master
Merging ibft/master
Merging scsi/master
Merging async_tx/next
Merging net/master
Merging wireless/master
CONFLICT (content): Merge conflict in drivers/net/wireless/iwlwifi/iwl-agn-tx.c
CONFLICT (content): Merge conflict in net/mac80211/sta_info.h
$ git reset --hard HEAD^
Merging refs/next/20110513/wireless
CONFLICT (content): Merge conflict in drivers/net/wireless/iwlwifi/iwl-agn-tx.c
CONFLICT (content): Merge conflict in net/mac80211/sta_info.h
[master 0e39025] Merge commit 'refs/next/20110513/wireless'
Merging bluetooth/master
Merging mtd/master
Merging crypto/master
Merging sound/for-next
Merging sound-asoc/for-next
Merging cpufreq/next
Merging cpufreq-move/move-drivers
CONFLICT (content): Merge conflict in drivers/cpufreq/cpufreq_stats.c
Merging quilt/rr
Merging input/next
Merging input-mt/next
Merging lsm/for-next
Merging block/for-next
Merging quilt/device-mapper
Merging embedded/master
Merging firmware/master
Merging pcmcia/master
Merging battery/master
Merging leds/for-mm
CONFLICT (content): Merge conflict in drivers/leds/Kconfig
Merging backlight/for-mm
Merging mmc/mmc-next
CONFLICT (content): Merge conflict in drivers/mmc/host/tmio_mmc_pio.c
Merging kgdb/kgdb-next
Merging slab/for-next
CONFLICT (content): Merge conflict in mm/slub.c
Merging uclinux/for-next
Merging md/for-next
Merging mfd/for-next
CONFLICT (content): Merge conflict in drivers/mfd/twl4030-power.c
Merging hdlc/hdlc-next
Merging drm/drm-next
Merging fbdev/master
Merging viafb/viafb-next
Merging omap_dss2/for-next
CONFLICT (content): Merge conflict in drivers/video/omap2/dss/dsi.c
CONFLICT (content): Merge conflict in drivers/video/omap2/dss/dss_features.c
CONFLICT (content): Merge conflict in drivers/video/omap2/dss/dss_features.h
Merging voltage/for-next
CONFLICT (content): Merge conflict in drivers/mfd/Kconfig
CONFLICT (content): Merge conflict in drivers/mfd/Makefile
Merging security-testing/next
CONFLICT (content): Merge conflict in include/linux/capability.h
Merging selinux/master
CONFLICT (content): Merge conflict in lib/flex_array.c
CONFLICT (content): Merge conflict in security/selinux/avc.c
CONFLICT (content): Merge conflict in security/selinux/hooks.c
CONFLICT (content): Merge conflict in security/selinux/ss/policydb.c
CONFLICT (content): Merge conflict in security/smack/smack_lsm.c
Merging lblnet/master
Merging agp/agp-next
Merging watchdog/master
Merging bdev/master
Merging dwmw2-iommu/master
Merging cputime/cputime
Merging osd/linux-next
Merging jc_docs/docs-next
Merging nommu/master
Merging trivial/for-next
Merging audit/for-next
Merging suspend/linux-next
CONFLICT (content): Merge conflict in arch/x86/Kconfig
Merging apm/for-next
Merging fsnotify/for-next
Merging irda/for-next
Merging i7core_edac/linux_next
Merging i7300_edac/linux_next
Merging devicetree/devicetree/next
Merging spi/spi/next
Merging tip/auto-latest
Merging rcu/rcu/next
Merging kvm/linux-next
Merging oprofile/for-next
Merging ptrace/ptrace
Merging xen-two/linux-next
Merging xen-pvhvm/linux-next
Merging edac-amd/for-next
Merging percpu/for-next
CONFLICT (content): Merge conflict in arch/x86/include/asm/percpu.h
Merging workqueues/for-next
Merging sfi/sfi-test
Merging asm-generic/next
Merging drivers-x86/linux-next
CONFLICT (content): Merge conflict in drivers/platform/x86/Kconfig
CONFLICT (content): Merge conflict in drivers/platform/x86/Makefile
CONFLICT (content): Merge conflict in drivers/platform/x86/eeepc-laptop.c
CONFLICT (content): Merge conflict in drivers/platform/x86/sony-laptop.c
Merging hwpoison/hwpoison
Merging sysctl/master
Merging namespace/master
CONFLICT (content): Merge conflict in arch/alpha/include/asm/unistd.h
CONFLICT (content): Merge conflict in arch/alpha/kernel/systbls.S
CONFLICT (content): Merge conflict in arch/m68k/kernel/entry_mm.S
Merging driver-core/driver-core-next
CONFLICT (content): Merge conflict in fs/debugfs/file.c
Merging tty/tty-next
CONFLICT (content): Merge conflict in drivers/bluetooth/hci_ldisc.c
CONFLICT (content): Merge conflict in drivers/tty/serial/Makefile
Merging usb/usb-next
CONFLICT (content): Merge conflict in arch/arm/mach-exynos4/mach-nuri.c
Merging staging/staging-next
CONFLICT (content): Merge conflict in drivers/staging/intel_sst/intelmid.c
CONFLICT (delete/modify): drivers/staging/rt2860/common/cmm_data_pci.c deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/rt2860/common/cmm_data_pci.c left in tree.
CONFLICT (delete/modify): drivers/staging/rt2860/common/cmm_data_usb.c deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/rt2860/common/cmm_data_usb.c left in tree.
CONFLICT (content): Merge conflict in drivers/staging/usbip/vhci_sysfs.c
$ git rm -f drivers/staging/rt2860/common/cmm_data_pci.c drivers/staging/rt2860/common/cmm_data_usb.c
Merging slabh/slabh
Merging bkl-config/config
Merging cleancache/linux-next
Merging arm-dt/devicetree/arm-next
Merging scsi-post-merge/merge-base:master


Attachments:
(No filename) (10.09 kB)
(No filename) (490.00 B)
Download all attachments

2011-05-16 19:35:52

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for May 16 (net/ipv4/ping)

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'

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-05-16 19:39:24

by David Miller

[permalink] [raw]
Subject: Re: linux-next: Tree for May 16 (net/ipv4/ping)

From: Randy Dunlap <[email protected]>
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.

2011-05-17 09:54:14

by Eric Dumazet

[permalink] [raw]
Subject: Re: linux-next: Tree for May 16 (net/ipv4/ping)

Le lundi 16 mai 2011 à 15:38 -0400, David Miller a écrit :
> From: Randy Dunlap <[email protected]>
> 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 <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
CC: Vasiliy Kulikov <[email protected]>
---
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;

2011-05-17 10:17:04

by Vasily Kulikov

[permalink] [raw]
Subject: [PATCH] net: ping: fix build failure

On Mon, May 16, 2011 at 15:38 -0400, David Miller wrote:
> From: Randy Dunlap <[email protected]>
> Date: Mon, 16 May 2011 12:35:34 -0700
>
> > On Mon, 16 May 2011 15:10:19 +1000 Stephen Rothwell wrote:
> > when CONFIG_PROC_SYSCTL is not enabled:
> >
> > ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net'
>
> Vasiliy, please fix this.

I wonder whether there is any way to test such unusual configurations?
Only randconfig or are there any (partly-)automated tools for it?


[PATCH] 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 <[email protected]>
Signed-off-by: Vasiliy Kulikov <[email protected]>
---
include/net/ping.h | 2 --
net/ipv4/ping.c | 13 +++++++++++++
net/ipv4/sysctl_net_ipv4.c | 12 ------------
3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/include/net/ping.h b/include/net/ping.h
index 23062c3..682b5ae 100644
--- a/include/net/ping.h
+++ b/include/net/ping.h
@@ -44,8 +44,6 @@ extern struct proto ping_prot;
extern void ping_rcv(struct sk_buff *);
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
extern int __init ping_proc_init(void);
extern void ping_proc_exit(void);
diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
index 7041d09..3635975 100644
--- a/net/ipv4/ping.c
+++ b/net/ipv4/ping.c
@@ -188,6 +188,19 @@ exit:
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)
{
struct net *net = sock_net(sk);
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 28e8273..57d0752 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -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)
{
gid_t *data = table->data;
--
1.7.0.4

2011-05-17 10:27:10

by Eric Dumazet

[permalink] [raw]
Subject: Re: [PATCH] net: ping: fix build failure

Le mardi 17 mai 2011 à 14:16 +0400, Vasiliy Kulikov a écrit :
> On Mon, May 16, 2011 at 15:38 -0400, David Miller wrote:
> > From: Randy Dunlap <[email protected]>
> > Date: Mon, 16 May 2011 12:35:34 -0700
> >
> > > On Mon, 16 May 2011 15:10:19 +1000 Stephen Rothwell wrote:
> > > when CONFIG_PROC_SYSCTL is not enabled:
> > >
> > > ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net'
> >
> > Vasiliy, please fix this.
>
> I wonder whether there is any way to test such unusual configurations?
> Only randconfig or are there any (partly-)automated tools for it?
>
>
> [PATCH] 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 <[email protected]>
> Signed-off-by: Vasiliy Kulikov <[email protected]>

Acked-by: Eric Dumazet <[email protected]>

2011-05-17 14:59:05

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] net: ping: fix build failure

On 05/17/11 03:16, Vasiliy Kulikov wrote:
> On Mon, May 16, 2011 at 15:38 -0400, David Miller wrote:
>> From: Randy Dunlap <[email protected]>
>> Date: Mon, 16 May 2011 12:35:34 -0700
>>
>>> On Mon, 16 May 2011 15:10:19 +1000 Stephen Rothwell wrote:
>>> when CONFIG_PROC_SYSCTL is not enabled:
>>>
>>> ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net'
>>
>> Vasiliy, please fix this.
>
> I wonder whether there is any way to test such unusual configurations?
> Only randconfig or are there any (partly-)automated tools for it?

Hi,

I do automated (cron) randconfigs nightly and occasionally I run a script
that builds a kernel with each one of these options disabled (although
lately CONFIG_PM is not being disabled, but I'll fix that one day):

BLOCK HOTPLUG INET INPUT MAGIC_SYSRQ NET PCI PM PROC_FS SMP SYSFS

Hm, I should add SYSCTL (and/or PROC_SYSCTL) to that list. It often has issues.

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-05-17 15:42:09

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] net: ping: fix build failure

On Tue, 17 May 2011 14:16:56 +0400 Vasiliy Kulikov wrote:

> On Mon, May 16, 2011 at 15:38 -0400, David Miller wrote:
> > From: Randy Dunlap <[email protected]>
> > Date: Mon, 16 May 2011 12:35:34 -0700
> >
> > > On Mon, 16 May 2011 15:10:19 +1000 Stephen Rothwell wrote:
> > > when CONFIG_PROC_SYSCTL is not enabled:
> > >
> > > ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net'
> >
> > Vasiliy, please fix this.
>
> I wonder whether there is any way to test such unusual configurations?
> Only randconfig or are there any (partly-)automated tools for it?
>
>
> [PATCH] 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 <[email protected]>
> Signed-off-by: Vasiliy Kulikov <[email protected]>

Acked-by: Randy Dunlap <[email protected]>

Thanks.

> ---
> include/net/ping.h | 2 --
> net/ipv4/ping.c | 13 +++++++++++++
> net/ipv4/sysctl_net_ipv4.c | 12 ------------
> 3 files changed, 13 insertions(+), 14 deletions(-)
>
> diff --git a/include/net/ping.h b/include/net/ping.h
> index 23062c3..682b5ae 100644
> --- a/include/net/ping.h
> +++ b/include/net/ping.h
> @@ -44,8 +44,6 @@ extern struct proto ping_prot;
> extern void ping_rcv(struct sk_buff *);
> 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
> extern int __init ping_proc_init(void);
> extern void ping_proc_exit(void);
> diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
> index 7041d09..3635975 100644
> --- a/net/ipv4/ping.c
> +++ b/net/ipv4/ping.c
> @@ -188,6 +188,19 @@ exit:
> 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)
> {
> struct net *net = sock_net(sk);
> diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
> index 28e8273..57d0752 100644
> --- a/net/ipv4/sysctl_net_ipv4.c
> +++ b/net/ipv4/sysctl_net_ipv4.c
> @@ -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)
> {
> gid_t *data = table->data;
> --
> 1.7.0.4
> --
> To unsubscribe from this list: send the line "unsubscribe linux-next" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-05-17 18:00:39

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: ping: fix build failure

From: Randy Dunlap <[email protected]>
Date: Tue, 17 May 2011 08:41:25 -0700

> On Tue, 17 May 2011 14:16:56 +0400 Vasiliy Kulikov wrote:
>
>> On Mon, May 16, 2011 at 15:38 -0400, David Miller wrote:
>> > From: Randy Dunlap <[email protected]>
>> > Date: Mon, 16 May 2011 12:35:34 -0700
>> >
>> > > On Mon, 16 May 2011 15:10:19 +1000 Stephen Rothwell wrote:
>> > > when CONFIG_PROC_SYSCTL is not enabled:
>> > >
>> > > ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net'
>> >
>> > Vasiliy, please fix this.
>>
>> I wonder whether there is any way to test such unusual configurations?
>> Only randconfig or are there any (partly-)automated tools for it?
>>
>>
>> [PATCH] 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 <[email protected]>
>> Signed-off-by: Vasiliy Kulikov <[email protected]>
>
> Acked-by: Randy Dunlap <[email protected]>

Applied, thanks everyone.