From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
"Eric W. Biederman" <ebiederm@aristanetworks.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [22/70] net ipv6: Fix duplicate /proc/sys/net/ipv6/neigh directory entries.
Date: Tue, 19 Apr 2011 13:08:31 -0700 [thread overview]
Message-ID: <20110419201045.486120877@clark.kroah.org> (raw)
In-Reply-To: <20110419201501.GA8865@kroah.com>
2.6.38-stable review patch. If anyone has any objections, please let us know.
------------------
From: Eric W. Biederman <ebiederm@aristanetworks.com>
[ Upstream commit 9d2a8fa96a44ba242de3a6f56acaef7a40a97b97 ]
When I was fixing issues with unregisgtering tables under /proc/sys/net/ipv6/neigh
by adding a mount point it appears I missed a critical ordering issue, in the
ipv6 initialization. I had not realized that ipv6_sysctl_register is called
at the very end of the ipv6 initialization and in particular after we call
neigh_sysctl_register from ndisc_init.
"neigh" needs to be initialized in ipv6_static_sysctl_register which is
the first ipv6 table to initialized, and definitely before ndisc_init.
This removes the weirdness of duplicate tables while still providing a
"neigh" mount point which prevents races in sysctl unregistering.
This was initially reported at https://bugzilla.kernel.org/show_bug.cgi?id=31232
Reported-by: sunkan@zappa.cx
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
net/ipv6/sysctl_net_ipv6.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
--- a/net/ipv6/sysctl_net_ipv6.c
+++ b/net/ipv6/sysctl_net_ipv6.c
@@ -17,6 +17,16 @@
static struct ctl_table empty[1];
+static ctl_table ipv6_static_skeleton[] = {
+ {
+ .procname = "neigh",
+ .maxlen = 0,
+ .mode = 0555,
+ .child = empty,
+ },
+ { }
+};
+
static ctl_table ipv6_table_template[] = {
{
.procname = "route",
@@ -37,12 +47,6 @@ static ctl_table ipv6_table_template[] =
.mode = 0644,
.proc_handler = proc_dointvec
},
- {
- .procname = "neigh",
- .maxlen = 0,
- .mode = 0555,
- .child = empty,
- },
{ }
};
@@ -160,7 +164,7 @@ static struct ctl_table_header *ip6_base
int ipv6_static_sysctl_register(void)
{
- ip6_base = register_sysctl_paths(net_ipv6_ctl_path, empty);
+ ip6_base = register_sysctl_paths(net_ipv6_ctl_path, ipv6_static_skeleton);
if (ip6_base == NULL)
return -ENOMEM;
return 0;
next prev parent reply other threads:[~2011-04-19 20:28 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-19 20:15 [00/70] 2.6.38.4-rc1-stable review Greg KH
2011-04-19 20:08 ` [01/70] vm: fix vm_pgoff wrap in stack expansion Greg KH
2011-04-19 20:08 ` [02/70] drm/radeon/kms: pll tweaks for rv6xx Greg KH
2011-04-19 20:08 ` [03/70] drm/radeon/kms: fix suspend on rv530 asics Greg KH
2011-04-19 20:08 ` [04/70] cifs: always do is_path_accessible check in cifs_mount Greg KH
2011-04-19 20:08 ` [05/70] cifs: check for private_data before trying to put it Greg KH
2011-04-19 20:08 ` [06/70] cifs: set ra_pages in backing_dev_info Greg KH
2011-04-19 20:08 ` [07/70] cifs: wrap received signature check in srv_mutex Greg KH
2011-04-19 20:08 ` [08/70] [media] video: sn9c102: world-wirtable sysfs files Greg KH
2011-04-19 20:08 ` [09/70] UBIFS: restrict world-writable debugfs files Greg KH
2011-04-19 20:08 ` [10/70] ALSA: hda - Fix pin-config of Gigabyte mobo Greg KH
2011-04-19 20:08 ` [11/70] NET: cdc-phonet, handle empty phonet header Greg KH
2011-04-19 20:08 ` [12/70] x86: Fix a bogus unwind annotation in lib/semaphore_32.S Greg KH
2011-04-19 20:08 ` [13/70] [IA64] tioca: Fix assignment from incompatible pointer warnings Greg KH
2011-04-19 20:08 ` [14/70] [IA64] mca.c: Fix cast from integer to pointer warning Greg KH
2011-04-19 20:08 ` [15/70] vm: fix mlock() on stack guard page Greg KH
2011-04-19 20:08 ` [16/70] UBIFS: fix assertion warnings Greg KH
2011-04-19 20:08 ` [17/70] perf: Fix task context scheduling Greg KH
2011-04-19 20:08 ` [18/70] bridge: Fix possibly wrong MLD queries ethernet source address Greg KH
2011-04-19 20:08 ` [19/70] fib: add rtnl locking in ip_fib_net_exit Greg KH
2011-04-19 20:08 ` [20/70] gianfar: Fall back to software tcp/udp checksum on older controllers Greg KH
2011-04-19 20:08 ` [21/70] l2tp: fix possible oops on l2tp_eth module unload Greg KH
2011-04-19 20:08 ` Greg KH [this message]
2011-04-19 20:08 ` [23/70] net_sched: fix ip_tos2prio Greg KH
2011-04-19 20:08 ` [24/70] pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev Greg KH
2011-04-19 20:08 ` [25/70] sctp: Pass __GFP_NOWARN to hash table allocation attempts Greg KH
2011-04-19 20:08 ` [26/70] tcp: avoid cwnd moderation in undo Greg KH
2011-04-19 20:08 ` [27/70] xfrm: Refcount destination entry on xfrm_lookup Greg KH
2011-04-19 20:08 ` [28/70] vlan: should take into account needed_headroom Greg KH
2011-04-19 20:08 ` [29/70] bridge: Reset IPCB when entering IP stack on NF_FORWARD Greg KH
2011-04-19 20:08 ` [30/70] sparc: Fix .size directive for do_int_load Greg KH
2011-04-19 20:08 ` [31/70] sparc32: Fix might-be-used-uninitialized warning in do_sparc_fault() Greg KH
2011-04-19 20:08 ` [32/70] sparc32: Pass task_struct to schedule_tail() in ret_from_fork Greg KH
2011-04-19 20:08 ` [33/70] sparc64: Fix build errors with gcc-4.6.0 Greg KH
2011-04-19 20:08 ` [34/70] futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup Greg KH
2011-04-19 20:08 ` [35/70] kstrto*: converting strings to integers done (hopefully) right Greg KH
2011-04-19 20:08 ` [36/70] mm/thp: use conventional format for boolean attributes Greg KH
2011-04-19 20:08 ` [37/70] ramfs: fix memleak on no-mmu arch Greg KH
2011-04-19 20:08 ` [38/70] oom-kill: remove boost_dying_task_prio() Greg KH
2011-04-19 20:08 ` [39/70] MAINTAINERS: update STABLE BRANCH info Greg KH
2011-04-19 20:08 ` [40/70] UBIFS: fix oops when R/O file-system is fsynced Greg KH
2011-04-19 20:08 ` [41/70] x86, AMD: Set ARAT feature on AMD processors Greg KH
2011-04-19 20:08 ` [42/70] x86, amd: Disable GartTlbWlkErr when BIOS forgets it Greg KH
2011-04-19 20:08 ` [43/70] vfs: Fix absolute RCU path walk failures due to uninitialized seq number Greg KH
2011-04-19 20:08 ` [44/70] ARM: 6864/1: hw_breakpoint: clear DBGVCR out of reset Greg KH
2011-04-19 20:08 ` [45/70] i2c-algo-bit: Call pre/post_xfer for bit_test Greg KH
2011-04-19 20:08 ` [46/70] RTC: add missing "return 0" in new alarm func for rtc-bfin.c Greg KH
2011-04-19 20:08 ` [47/70] sched: Fix erroneous all_pinned logic Greg KH
2011-04-19 20:08 ` [48/70] vmscan: all_unreclaimable() use zone->all_unreclaimable as a name Greg KH
2011-04-21 3:40 ` [Stable-review] " Ben Hutchings
2011-04-21 4:24 ` KOSAKI Motohiro
2011-04-21 4:52 ` Ben Hutchings
2011-04-21 6:10 ` KOSAKI Motohiro
2011-04-25 1:50 ` Ben Hutchings
2011-04-19 20:08 ` [49/70] brk: COMPAT_BRK: fix detection of randomized brk Greg KH
2011-04-19 20:08 ` [50/70] usb: musb: temporarily make it bool Greg KH
2011-04-19 20:09 ` [51/70] USB: ftdi_sio: Added IDs for CTI USB Serial Devices Greg KH
2011-04-19 20:09 ` [52/70] USB: ftdi_sio: add PID for OCT DK201 docking station Greg KH
2011-04-19 20:09 ` [53/70] USB: ftdi_sio: add ids for Hameg HO720 and HO730 Greg KH
2011-04-19 20:09 ` [54/70] USB: option: Added support for Samsung GT-B3730/GT-B3710 LTE USB modem Greg KH
2011-04-19 20:09 ` [55/70] next_pidmap: fix overflow condition Greg KH
2011-04-19 20:09 ` [56/70] proc: do proper range check on readdir offset Greg KH
2011-04-19 20:09 ` [57/70] powerpc: Fix oops if scan_dispatch_log is called too early Greg KH
2011-04-19 20:09 ` [58/70] powerpc/perf_event: Skip updating kernel counters if register value shrinks Greg KH
2011-04-19 20:09 ` [59/70] usb: Fix qcserial memory leak on rmmod Greg KH
2011-04-19 20:09 ` [60/70] usb: qcserial avoid pointing to freed memory Greg KH
2011-04-19 20:09 ` [61/70] usb: qcserial add missing errorpath kfrees Greg KH
2011-04-19 20:09 ` [62/70] USB: EHCI: unlink unused QHs when the controller is stopped Greg KH
2011-04-19 20:09 ` [63/70] USB: fix formatting of SuperSpeed endpoints in /proc/bus/usb/devices Greg KH
2011-04-19 20:09 ` [64/70] USB: xhci - fix unsafe macro definitions Greg KH
2011-04-19 20:09 ` [65/70] USB: xhci - fix math in xhci_get_endpoint_interval() Greg KH
2011-04-19 20:09 ` [66/70] USB: xhci - also free streams when resetting devices Greg KH
2011-04-19 20:09 ` [67/70] USB: Fix unplug of device with active streams Greg KH
2011-04-19 20:09 ` [68/70] radeon: Fix KMS CP writeback on big endian machines Greg KH
2011-04-19 20:09 ` [69/70] Bluetooth: Fix HCI_RESET command synchronization Greg KH
2011-04-19 20:09 ` [70/70] perf tool: Fix gcc 4.6.0 issues Greg KH
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=20110419201045.486120877@clark.kroah.org \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=ebiederm@aristanetworks.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome