diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-13 21:48:39 -0500 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-13 21:48:39 -0500 |
commit | 657e94b673a805b427903c5628e95348235fad06 (patch) | |
tree | 0c174e387cb5d3fd3a2b55e154219cc67b644637 /fs/nfs/dir.c | |
parent | 2c6755988afc003a0332406a134fb6a1626f9b28 (diff) |
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: | |||
1410 | static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd) | 1410 | static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd) |
1411 | { | 1411 | { |
1412 | struct dentry *parent = NULL; | 1412 | struct dentry *parent = NULL; |
1413 | struct inode *inode = dentry->d_inode; | 1413 | struct inode *inode; |
1414 | struct inode *dir; | 1414 | struct inode *dir; |
1415 | struct nfs_open_context *ctx; | 1415 | struct nfs_open_context *ctx; |
1416 | int openflags, ret = 0; | 1416 | int openflags, ret = 0; |
1417 | 1417 | ||
1418 | if (nd->flags & LOOKUP_RCU) | ||
1419 | return -ECHILD; | ||
1420 | |||
1421 | inode = dentry->d_inode; | ||
1418 | if (!is_atomic_open(nd) || d_mountpoint(dentry)) | 1422 | if (!is_atomic_open(nd) || d_mountpoint(dentry)) |
1419 | goto no_open; | 1423 | goto no_open; |
1420 | 1424 | ||