summaryrefslogtreecommitdiff
path: root/fs/exportfs/expfs.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-12-16 14:38:58 +1100
committerPaul Mackerras <paulus@samba.org>2008-12-16 14:38:58 +1100
commit1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a (patch)
tree0cf88547108a750d6eb910564ef5bf0ffb5ceef3 /fs/exportfs/expfs.c
parent91cac623262c1c0cd298c5c648a8bd2b647c264d (diff)
parent23e0e8afafd9ac065d81506524adf3339584044b (diff)
Merge branch 'merge' into next
Diffstat (limited to 'fs/exportfs/expfs.c')
-rw-r--r--fs/exportfs/expfs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c
index 80246bad1b7f..890e01828817 100644
--- a/fs/exportfs/expfs.c
+++ b/fs/exportfs/expfs.c
@@ -367,6 +367,8 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
* Try to get any dentry for the given file handle from the filesystem.
*/
result = nop->fh_to_dentry(mnt->mnt_sb, fid, fh_len, fileid_type);
+ if (!result)
+ result = ERR_PTR(-ESTALE);
if (IS_ERR(result))
return result;
@@ -420,6 +422,8 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
target_dir = nop->fh_to_parent(mnt->mnt_sb, fid,
fh_len, fileid_type);
+ if (!target_dir)
+ goto err_result;
err = PTR_ERR(target_dir);
if (IS_ERR(target_dir))
goto err_result;