[kernel] r16701 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Sun Dec 12 03:32:34 UTC 2010


Author: benh
Date: Sun Dec 12 03:32:25 2010
New Revision: 16701

Log:
NFS: Fix panic after nfs_umount()

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/NFS-Fix-panic-after-nfs_umount.patch
   dists/sid/linux-2.6/debian/patches/series/30
Modified:
   dists/sid/linux-2.6/debian/changelog

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Sat Dec 11 21:26:34 2010	(r16700)
+++ dists/sid/linux-2.6/debian/changelog	Sun Dec 12 03:32:25 2010	(r16701)
@@ -1,3 +1,10 @@
+linux-2.6 (2.6.32-30) UNRELEASED; urgency=low
+
+  [ Ben Hutchings ]
+  * NFS: Fix panic after nfs_umount()
+
+ -- Ben Hutchings <ben at decadent.org.uk>  Sun, 12 Dec 2010 03:23:48 +0000
+
 linux-2.6 (2.6.32-29) unstable; urgency=high
 
   [ Ben Hutchings ]

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/NFS-Fix-panic-after-nfs_umount.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/NFS-Fix-panic-after-nfs_umount.patch	Sun Dec 12 03:32:25 2010	(r16701)
@@ -0,0 +1,56 @@
+From: Chuck Lever <chuck.lever at oracle.com>
+Date: Wed, 8 Dec 2010 19:07:12 -0500
+Subject: [PATCH] NFS: Fix panic after nfs_umount()
+
+commit 5b362ac3799ff4225c40935500f520cad4d7ed66 upstream.
+
+After a few unsuccessful NFS mount attempts in which the client and
+server cannot agree on an authentication flavor both support, the
+client panics.  nfs_umount() is invoked in the kernel in this case.
+
+Turns out this particular UMNT RPC invocation causes the RPC client to
+write off the end of the rpc_clnt's iostat array.  This is because the
+mount client's nrprocs field is initialized with the count of defined
+procedures (two: MNT and UMNT), rather than the size of the client's
+proc array (four).
+
+The fix is to use the same initialization technique used by most other
+upper layer clients in the kernel.
+
+Introduced by commit 0b524123, which failed to update nrprocs when it
+added support for UMNT.
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=24302
+BugLink: http://bugs.launchpad.net/bugs/683938
+
+Reported-by: Stefan Bader <stefan.bader at canonical.com>
+Tested-by: Stefan Bader <stefan.bader at canonical.com>
+CC: stable at kernel.org # >= 2.6.32
+Signed-off-by: Chuck Lever <chuck.lever at oracle.com>
+---
+ fs/nfs/mount_clnt.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
+index 59047f8..50552c5 100644
+--- a/fs/nfs/mount_clnt.c
++++ b/fs/nfs/mount_clnt.c
+@@ -503,13 +503,13 @@ static struct rpc_procinfo mnt3_procedures[] = {
+ 
+ static struct rpc_version mnt_version1 = {
+ 	.number		= 1,
+-	.nrprocs	= 2,
++	.nrprocs	= ARRAY_SIZE(mnt_procedures),
+ 	.procs		= mnt_procedures,
+ };
+ 
+ static struct rpc_version mnt_version3 = {
+ 	.number		= 3,
+-	.nrprocs	= 2,
++	.nrprocs	= ARRAY_SIZE(mnt_procedures),
+ 	.procs		= mnt3_procedures,
+ };
+ 
+-- 
+1.7.0.4
+

Added: dists/sid/linux-2.6/debian/patches/series/30
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/series/30	Sun Dec 12 03:32:25 2010	(r16701)
@@ -0,0 +1 @@
++ bugfix/all/NFS-Fix-panic-after-nfs_umount.patch



More information about the Kernel-svn-changes mailing list