Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull proc_fill_cache regression fix from Al Viro:
 "Regression fix for proc_fill_cache() braino introduced when switching
  instantiate() callback to d_splice_alias()"

* 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  fix proc_fill_cache() in case of d_alloc_parallel() failure
This commit is contained in:
Linus Torvalds 2018-06-08 09:56:38 -07:00
commit 4189b863ba

View File

@ -1866,19 +1866,19 @@ bool proc_fill_cache(struct file *file, struct dir_context *ctx,
struct dentry *res;
res = instantiate(child, task, ptr);
d_lookup_done(child);
if (IS_ERR(res))
goto end_instantiate;
if (unlikely(res)) {
dput(child);
child = res;
if (IS_ERR(child))
goto end_instantiate;
}
}
}
inode = d_inode(child);
ino = inode->i_ino;
type = inode->i_mode >> 12;
end_instantiate:
dput(child);
end_instantiate:
return dir_emit(ctx, name, len, ino, type);
}