[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