NFS: Fix an Oops in encode_lookup()
It doesn't look as if the NFS file name limit is being initialised correctly in the struct nfs_server. Make sure that we limit whatever is being set in nfs_probe_fsinfo() and nfs_init_server(). Also ensure that readdirplus and nfs4_path_walk respect our file name limits. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
bd89366324
commit
54af3bb543
@@ -1162,6 +1162,8 @@ static struct dentry *nfs_readdir_lookup(nfs_readdir_descriptor_t *desc)
|
||||
}
|
||||
if (!desc->plus || !(entry->fattr->valid & NFS_ATTR_FATTR))
|
||||
return NULL;
|
||||
if (name.len > NFS_SERVER(dir)->namelen)
|
||||
return NULL;
|
||||
/* Note: caller is already holding the dir->i_mutex! */
|
||||
dentry = d_alloc(parent, &name);
|
||||
if (dentry == NULL)
|
||||
|
Reference in New Issue
Block a user