From 12fa5e240419237d848abe3d40809eabe9e8f4ca Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 28 Apr 2016 11:19:43 -0400 Subject: [PATCH] lookup_open(): expand the call of real_lookup() ... and lose the duplicate IS_DEADDIR() - we'd already checked that. Signed-off-by: Al Viro --- fs/namei.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/fs/namei.c b/fs/namei.c index 8d62a89..b9dde84 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -2969,9 +2969,16 @@ static int lookup_open(struct nameidata *nd, struct path *path, no_open: if (need_lookup) { - dentry = lookup_real(dir_inode, dentry, nd->flags); - if (IS_ERR(dentry)) - return PTR_ERR(dentry); + struct dentry *res = dir_inode->i_op->lookup(dir_inode, dentry, + nd->flags); + if (unlikely(res)) { + if (IS_ERR(res)) { + error = PTR_ERR(res); + goto out_dput; + } + dput(dentry); + dentry = res; + } } /* Negative dentry, just create the file */ -- 2.7.4