diff --git a/[refs] b/[refs] index 3fb0fe2963fb..ba5a70dc1ec2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 657e94b673a805b427903c5628e95348235fad06 +refs/heads/master: f20877d94a74557b7c28b4ed8920d834c31e0ea5 diff --git a/trunk/fs/namei.c b/trunk/fs/namei.c index 14c73edca9ce..bc24894c5f14 100644 --- a/trunk/fs/namei.c +++ b/trunk/fs/namei.c @@ -2122,11 +2122,13 @@ static struct file *do_last(struct nameidata *nd, struct path *path, dir = nd->path.dentry; case LAST_DOT: if (need_reval_dot(dir)) { - error = d_revalidate(nd->path.dentry, nd); - if (!error) - error = -ESTALE; - if (error < 0) + int status = d_revalidate(nd->path.dentry, nd); + if (!status) + status = -ESTALE; + if (status < 0) { + error = status; goto exit; + } } /* fallthrough */ case LAST_ROOT: