[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190703144000.GH17978@ZenIV.linux.org.uk>
Date: Wed, 3 Jul 2019 15:40:00 +0100
From: Al Viro <viro@...iv.linux.org.uk>
To: Hillf Danton <hdanton@...a.com>
Cc: syzbot <syzbot+d88a977731a9888db7ba@...kaller.appspotmail.com>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"syzkaller-bugs@...glegroups.com" <syzkaller-bugs@...glegroups.com>
Subject: Re: kernel panic: corrupted stack end in dput
On Wed, Jul 03, 2019 at 02:43:07PM +0800, Hillf Danton wrote:
> > This is very much *NOT* fine.
> > 1) trylock can fail from any number of reasons, starting
> > with "somebody is going through the hash chain doing a lookup on
> > something completely unrelated"
>
> They are also a red light that we need to bail out of spiraling up
> the directory hierarchy imho.
Translation: "let's leak the reference to parent, shall we?"
> > 2) whoever had been holding the lock and whatever they'd
> > been doing might be over right after we get the return value from
> > spin_trylock().
>
> Or after we send a mail using git. I don't know.
>
> > 3) even had that been really somebody adding children in
> > the same parent *AND* even if they really kept doing that, rather
> > than unlocking and buggering off, would you care to explain why
> > dentry_unlist() called by __dentry_kill() and removing the victim
> > from the list of children would be safe to do in parallel with that?
> >
> My bad. I have to walk around that unsafety.
WHAT unsafety? Can you explain what are you seeing and how to
reproduce it, whatever it is?
Powered by blists - more mailing lists