linux/fs/nfs
Jeff Layton 556ae3bb32 NFS: don't try to decode GETATTR if DELEGRETURN returned error
The reply parsing code attempts to decode the GETATTR response even if
the DELEGRETURN portion of the compound returned an error. The GETATTR
response won't actually exist if that's the case and we're asking the
parser to read past the end of the response.

This bug is fairly benign. The parser catches this without reading past
the end of the response and decode_getfattr returns -EIO. Earlier
kernels however had decode_op_hdr using the READ_BUF macro, and this
bug would make this printk pop any time the client got an error from
a delegreturn:

kernel: decode_op_hdr: reply buffer overflowed in line XXXX

More recent kernels seem to have replaced this printk with a dprintk.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2010-03-22 05:34:13 -04:00
..
cache_lib.c
cache_lib.h
callback_proc.c nfs41: cleanup callback code to use __be32 type 2010-02-10 08:31:01 -05:00
callback_xdr.c nfs4: Make the v4 callback service hidden 2010-03-08 14:56:42 -05:00
callback.c SUNRPC: Bury "#ifdef IPV6" in svc_create_xprt() 2010-01-26 17:56:43 -05:00
callback.h nfs41: implement cb_recall_slot 2010-02-10 08:30:59 -05:00
client.c nfs: kill renewd before clearing client minor version 2010-03-02 12:16:12 -05:00
delegation.c
delegation.h NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode() 2010-03-10 15:21:44 -05:00
dir.c NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode() 2010-03-10 15:21:44 -05:00
direct.c NFS: Too many GETATTR and ACCESS calls after direct I/O 2010-02-15 19:53:43 -08:00
dns_resolve.c NFS: Fix an allocation-under-spinlock bug 2010-03-02 13:06:22 -05:00
dns_resolve.h
file.c NFS: Prevent another deadlock in nfs_release_page() 2010-03-19 13:55:17 -04:00
fscache-index.c
fscache.c NFS: Fix a bug in nfs_fscache_release_page() 2010-02-09 14:29:10 -05:00
fscache.h
getroot.c
idmap.c
inode.c NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode() 2010-03-10 15:21:44 -05:00
internal.h pass writeback_control to ->write_inode 2010-03-05 13:25:52 -05:00
iostat.h percpu: add __percpu sparse annotations to fs 2010-02-17 11:17:38 +09:00
Kconfig Remove EXPERIMENTAL from NFS_FSCACHE 2010-02-26 17:22:35 -08:00
Makefile
mount_clnt.c NFS: Fix the mapping of the NFSERR_SERVERFAULT error 2010-02-09 14:29:29 -05:00
namespace.c
nfs2xdr.c NFS: Fix the mapping of the NFSERR_SERVERFAULT error 2010-02-09 14:29:29 -05:00
nfs3acl.c
nfs3proc.c nfs: handle NFSv3 -EKEYEXPIRED errors as we would -EJUKEBOX 2010-02-10 08:30:51 -05:00
nfs3xdr.c
nfs4_fs.h nfs41: implement cb_recall_slot 2010-02-10 08:30:59 -05:00
nfs4namespace.c
nfs4proc.c nfs: fix unlikely memory leak 2010-03-08 14:10:00 -05:00
nfs4renewd.c nfs: prevent backlogging of renewd requests 2010-03-02 12:44:07 -05:00
nfs4state.c NFSv4.1: Various fixes to the sequence flag error handling 2010-03-02 13:06:21 -05:00
nfs4xdr.c NFS: don't try to decode GETATTR if DELEGRETURN returned error 2010-03-22 05:34:13 -04:00
nfsroot.c
pagelist.c NFS: Avoid a deadlock in nfs_release_page 2010-03-11 09:19:35 -05:00
proc.c nfs: handle NFSv2 -EKEYEXPIRED returns from RPC layer appropriately 2010-02-10 08:30:52 -05:00
read.c
super.c NFS: ensure bdi_unregister is called on mount failure. 2010-03-15 15:37:45 -04:00
symlink.c NFS: Remove requirement for inode->i_mutex from nfs_invalidate_mapping 2010-03-05 15:44:56 -05:00
sysctl.c NFS: Avoid warnings when CONFIG_NFS_V4=n 2010-01-26 15:42:11 -05:00
unlink.c
write.c NFS: Simplify nfs_wb_page() 2010-03-05 15:44:55 -05:00