diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-14 02:48:39 +0000 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-14 02:48:39 +0000 |
commit | 657e94b673a805b427903c5628e95348235fad06 (patch) | |
tree | 0c174e387cb5d3fd3a2b55e154219cc67b644637 /fs/nfs/dir.c | |
parent | 2c6755988afc003a0332406a134fb6a1626f9b28 (diff) | |
download | linux-stable-657e94b673a805b427903c5628e95348235fad06.tar.gz linux-stable-657e94b673a805b427903c5628e95348235fad06.tar.bz2 linux-stable-657e94b673a805b427903c5628e95348235fad06.zip |
nfs: add missing rcu-walk check
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index d33da530097a..a0d8320bed9c 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1410,11 +1410,15 @@ no_open: static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd) { struct dentry *parent = NULL; - struct inode *inode = dentry->d_inode; + struct inode *inode; struct inode *dir; struct nfs_open_context *ctx; int openflags, ret = 0; + if (nd->flags & LOOKUP_RCU) + return -ECHILD; + + inode = dentry->d_inode; if (!is_atomic_open(nd) || d_mountpoint(dentry)) goto no_open; |