]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
knfsd: Allow NFSv2/3 WRITE calls to succeed when krb5i etc is used.
authorNeilBrown <neilb@suse.de>
Fri, 11 Jan 2008 22:06:52 +0000 (17:06 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 Feb 2008 20:01:45 +0000 (12:01 -0800)
commit5f8d005f5ee726ec8b6b3ddd9920a3e609740320
tree3a83b81ab99270febb371a546c92098d96ce4e05
parent7b21cc0a0e0787b428948873f5b7d3f67e938ef2
knfsd: Allow NFSv2/3 WRITE calls to succeed when krb5i etc is used.

patch ba67a39efde8312e386c6f603054f8945433d91f in mainline.

When RPCSEC/GSS and krb5i is used, requests are padded, typically to a multiple
of 8 bytes.  This can make the request look slightly longer than it
really is.

As of

f34b95689d2ce001c "The NFSv2/NFSv3 server does not handle zero
length WRITE request correctly",

the xdr decode routines for NFSv2 and NFSv3 reject requests that aren't
the right length, so krb5i (for example) WRITE requests can get lost.

This patch relaxes the appropriate test and enhances the related comment.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Cc: Peter Staubach <staubach@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/nfsd/nfs3xdr.c
fs/nfsd/nfsxdr.c