On Fri, Feb 28, 2025 at 7:48 AM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > There's a really odd comment in that thing: > /* > * Unhashed alias is able to exist because of revalidate() > * called by lookup_fast. You can easily make this status > * by calling create and lookup concurrently > * In such case, we reuse an alias instead of new dentry > */ > and AFAICS it had been there since the original merge. What I don't > understand is how the hell could revalidate result in that - > exfat_d_revalidate() always returns 1 on any positive dentry and alias is > obviously positive (it has the same inode as the one we are about to use). > > It mentions a way to reproduce that, but I don't understand what does > that refer to; could you give details? We need to find out the history of it. Sungjong, Could you please check the history of how this code came in? Thanks.