linux/fs/nfsd
Peter Staubach f34b95689d The NFSv2/NFSv3 server does not handle zero length WRITE requests correctly
The NFSv2 and NFSv3 servers do not handle WRITE requests for 0 bytes
correctly.  The specifications indicate that the server should accept the
request, but it should mostly turn into a no-op.  Currently, the server
will return an XDR decode error, which it should not.

Attached is a patch which addresses this issue.  It also adds some boundary
checking to ensure that the request contains as much data as was requested
to be written.  It also correctly handles an NFSv3 request which requests
to write more data than the server has stated that it is prepared to
handle.  Previously, there was some support which looked like it should
work, but wasn't quite right.

Signed-off-by: Peter Staubach <staubach@redhat.com>
Acked-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-09 12:30:54 -07:00
..
auth.c [PATCH] knfsd: nfsd: nfsd_setuser doesn't really need to modify rqstp->rq_cred. 2006-04-11 06:18:52 -07:00
export.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
lockd.c [PATCH] lockd endianness annotations 2006-12-13 09:05:52 -08:00
Makefile [PATCH] knfsd: nfsd4: reboot hash 2005-06-24 00:06:33 -07:00
nfs2acl.c [PATCH] Fix a free-wrong-pointer bug in nfs/acl server. 2007-02-19 16:13:28 -08:00
nfs3acl.c [PATCH] NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() 2006-12-08 08:29:02 -08:00
nfs3proc.c [PATCH] nfsd4: fix open-create permissions 2006-11-08 18:29:23 -08:00
nfs3xdr.c The NFSv2/NFSv3 server does not handle zero length WRITE requests correctly 2007-05-09 12:30:54 -07:00
nfs4acl.c remove nfs4_acl_add_ace() 2007-05-09 12:30:54 -07:00
nfs4callback.c SUNRPC: RPC buffer size estimates are too large 2007-04-30 22:17:10 -07:00
nfs4idmap.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
nfs4proc.c [PATCH] knfsd: nfsd4: simplify filehandle check 2006-12-13 09:05:54 -08:00
nfs4recover.c [PATCH] lockdep: annotate nfsd4 recover code 2006-12-08 08:29:01 -08:00
nfs4state.c nfsd4: Convert NFSv4 to new lock interface 2007-05-06 20:38:49 -04:00
nfs4xdr.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
nfscache.c [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses 2007-02-12 09:48:36 -08:00
nfsctl.c [PATCH] knfsd: fix return value for writes to some files in 'nfsd' filesystem 2007-02-14 08:09:53 -08:00
nfsfh.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
nfsproc.c [PATCH] knfsd: SUNRPC: Add a function to format the address in an svc_rqst for printing 2007-02-12 09:48:35 -08:00
nfssvc.c [PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper 2007-02-12 09:48:35 -08:00
nfsxdr.c The NFSv2/NFSv3 server does not handle zero length WRITE requests correctly 2007-05-09 12:30:54 -07:00
stats.c [PATCH] knfsd: nfsd4: add per-operation server stats 2006-07-10 13:24:27 -07:00
vfs.c [PATCH] knfsd: nfsd4: fix error return on unsupported acl 2007-02-16 08:14:01 -08:00