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
callback_xdr.c nfs4: Make the v4 callback service hidden 2010-03-08 14:56:42 -05:00
callback.c
callback.h
client.c
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
dns_resolve.c
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
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
Kconfig
Makefile
mount_clnt.c
namespace.c
nfs2xdr.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4_fs.h
nfs4namespace.c
nfs4proc.c nfs: fix unlikely memory leak 2010-03-08 14:10:00 -05:00
nfs4renewd.c
nfs4state.c
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
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
unlink.c
write.c NFS: Simplify nfs_wb_page() 2010-03-05 15:44:55 -05:00