• Al Viro's avatar
    d_add_ci(): make sure we don't miss d_lookup_done() · 40a3cb0d
    Al Viro authored
    All callers of d_alloc_parallel() must make sure that resulting
    in-lookup dentry (if any) will encounter __d_lookup_done() before
    the final dput().  d_add_ci() might end up creating in-lookup
    dentries; they are fed to d_splice_alias(), which will normally
    make sure they meet __d_lookup_done().  However, it is possible
    to end up with d_splice_alias() failing with ERR_PTR(-ELOOP)
    without having done so.  It takes a corrupted ntfs or case-insensitive
    xfs image, but neither should end up with memory corruption...
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    40a3cb0d
dcache.c 86.1 KB