Re: WARNING: CPU: 1 PID: 14735 at fs/dcache.c:365 dentry_free+0x100/0x128

From: Al Viro
Date: Tue Jul 19 2022 - 22:27:26 EST


On Tue, Jul 19, 2022 at 06:32:04PM +0200, Helge Deller wrote:
> > --- a/fs/dcache.c
> > +++ b/fs/dcache.c
> > @@ -605,8 +605,12 @@ static void __dentry_kill(struct dentry
> > spin_unlock(&parent->d_lock);
> > if (dentry->d_inode)
> > dentry_unlink_inode(dentry);
> > - else
> > + else {
> > + if (unlikely(d_in_lookup(dentry))) {
> > + __d_lookup_done(dentry);
> > + }
> > spin_unlock(&dentry->d_lock);
> > + }

Ugh... If that triggers, we really have a problem. I don't see any
way for that to happen (well, short of generally fucked refcounting -
stray dput() on wrong address and all bets are off)