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
..
Kconfig Remove EXPERIMENTAL from NFS_FSCACHE 2010-02-26 17:22:35 -08:00
Makefile NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
cache_lib.c NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
cache_lib.h NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04: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
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
client.c nfs: kill renewd before clearing client minor version 2010-03-02 12:16:12 -05:00
delegation.c nfs41: v2 fix cb_recall bug 2009-12-05 13:48:55 -05:00
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 NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
file.c NFS: Prevent another deadlock in nfs_release_page() 2010-03-19 13:55:17 -04:00
fscache-index.c NFS: Add read context retention for FS-Cache to call back with 2009-04-03 16:42:44 +01:00
fscache.c NFS: Fix a bug in nfs_fscache_release_page() 2010-02-09 14:29:10 -05:00
fscache.h NFS: Propagate 'fsc' mount option through automounts 2009-09-23 14:36:39 -04:00
getroot.c headers: mnt_namespace.h redux 2009-07-08 09:31:56 -07:00
idmap.c SUNRPC: Replace rpc_client->cl_dentry and cl_mnt, with a cl_path 2009-08-09 15:14:24 -04:00
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
mount_clnt.c NFS: Fix the mapping of the NFSERR_SERVERFAULT error 2010-02-09 14:29:29 -05:00
namespace.c NFS: Fix nfs_path() to always return a '/' at the beginning of the path 2009-06-22 21:28:25 -07:00
nfs2xdr.c NFS: Fix the mapping of the NFSERR_SERVERFAULT error 2010-02-09 14:29:29 -05:00
nfs3acl.c nfs: remove unnecessary NFS_INO_INVALID_ACL checks 2009-06-17 18:02:14 -07:00
nfs3proc.c nfs: handle NFSv3 -EKEYEXPIRED errors as we would -EJUKEBOX 2010-02-10 08:30:51 -05:00
nfs3xdr.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
nfs4_fs.h nfs41: implement cb_recall_slot 2010-02-10 08:30:59 -05:00
nfs4namespace.c NFSv4: Fix the referral mount code 2009-10-06 15:42:20 -04:00
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 NFS: Update MNT and MNT3 reply decoding functions 2009-06-17 18:02:13 -07:00
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 NFS: Fix up the declaration of nfs4_restart_rpc when NFSv4 not configured 2009-12-07 09:00:24 -05:00
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 NFS: Fix up the declaration of nfs4_restart_rpc when NFSv4 not configured 2009-12-07 09:00:24 -05:00
write.c NFS: Simplify nfs_wb_page() 2010-03-05 15:44:55 -05:00