[GIT PULL] Please pull 4 bugfixes for the NFS client

From: Myklebust, Trond
Date: Wed Feb 22 2012 - 05:13:17 EST


Hi Linus,

Please pull from the signed tag "nfs-for-3.3-4" in the repository at

git pull git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tag nfs-for-3.3-4

This will update the following files through the appended changesets.

Cheers,
Trond

----
fs/nfs/nfs4proc.c | 130 ++++++++++++++++++++---------------------------
fs/nfs/nfs4state.c | 2 +
fs/nfs/nfs4xdr.c | 5 ++-
include/linux/nfs_xdr.h | 2 +-
4 files changed, 62 insertions(+), 77 deletions(-)

commit abe9a6d57b4544ac208401f9c0a4262814db2be4
Author: Weston Andros Adamson <dros@xxxxxxxxxx>
Date: Thu Feb 16 11:17:05 2012 -0500

NFSv4: fix server_scope memory leak

server_scope would never be freed if nfs4_check_cl_exchange_flags() returned
non-zero

Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>

commit f86f36a6ae625eda87a13e1ea102a908e08f491b
Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
Date: Tue Feb 14 20:33:19 2012 -0500

NFSv4.1: Fix a NFSv4.1 session initialisation regression

Commit aacd553 (NFSv4.1: cleanup init and reset of session slot tables)
introduces a regression in the session initialisation code. New tables
now find their sequence ids initialised to 0, rather than the mandated
value of 1 (see RFC5661).

Fix the problem by merging nfs4_reset_slot_table() and nfs4_init_slot_table().
Since the tbl->max_slots is initialised to 0, the test in
nfs4_reset_slot_table for max_reqs != tbl->max_slots will automatically
pass for an empty table.

Reported-by: Vitaliy Gusev <gusev.vitaliy@xxxxxxxxxxx>
Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>

commit b9f9a03150969e4bd9967c20bce67c4de769058f
Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
Date: Thu Feb 9 15:31:36 2012 -0500

NFSv4: Ensure we throw out bad delegation stateids on NFS4ERR_BAD_STATEID

To ensure that we don't just reuse the bad delegation when we attempt to
recover the nfs4_state that received the bad stateid error.

Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx

commit 331818f1c468a24e581aedcbe52af799366a9dfe
Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
Date: Fri Feb 3 18:30:53 2012 -0500

NFSv4: Fix an Oops in the NFSv4 getacl code

Commit bf118a342f10dafe44b14451a1392c3254629a1f (NFSv4: include bitmap
in nfsv4 get acl data) introduces the 'acl_scratch' page for the case
where we may need to decode multi-page data. However it fails to take
into account the fact that the variable may be NULL (for the case where
we're not doing multi-page decode), and it also attaches it to the
encoding xdr_stream rather than the decoding one.

The immediate result is an Oops in nfs4_xdr_enc_getacl due to the
call to page_address() with a NULL page pointer.

Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
Cc: Andy Adamson <andros@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx


--
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

Attachment: signature.asc
Description: This is a digitally signed message part