]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
NFS: Fix a decoding problem in nfs3_decode_dirent
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 18 Mar 2011 01:54:39 +0000 (21:54 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 19:50:22 +0000 (12:50 -0700)
commit2ea86e74bb34b67226254b99f7071af69228ec95
treeb56e2bc51ef03f7f1c0f1045bce3a1026aa61fc6
parent076620dbeb0b3993144f4e73e16b966e7a26370f
NFS: Fix a decoding problem in nfs3_decode_dirent

[This needs to be applied to 2.6.37 only. The bug in question was
inadvertently fixed by a series of cleanups in 2.6.38, but the patches
in question are too large to be backported. This patch is a minimal fix
that serves the same purpose.]

When we decode a filename followed by an 8-byte cookie, we need to
consider the fact that the filename and cookie are 32-bit word aligned.
Presently, we may end up copying insufficient amounts of data when
xdr_inline_decode() needs to invoke xdr_copy_to_scratch to deal
with a page boundary.

The following patch fixes the issue by first decoding the filename, and
then decoding the cookie.

Reported-by: Neil Brown <neilb@suse.de>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Reviewed-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/nfs/nfs2xdr.c
fs/nfs/nfs3xdr.c