Re: fs: lockup on rename_mutex in fs/dcache.c:1035

From: Al Viro
Date: Sat Oct 25 2014 - 23:06:17 EST


On Sat, Oct 25, 2014 at 08:01:41PM -0700, Eric W. Biederman wrote:
> Sasha Levin <sasha.levin@xxxxxxxxxx> writes:
>
> > Hi all,
> >
> > While fuzzing with trinity inside a KVM tools guest running the latest -next
> > kernel, I've stumbled on the following spew:
>
> Weird. I took a quick look and I don't see any changes in d_walk that
> in Al's tree or in Linus's kernel for years.
>
> Has read_seqbegin_or_lock changed somewhere?
>
> >From a quick reading of the code it simply isn't possible for d_walk to
> take the lock twice short of memory corruption. And the fact that the
> code has not changed in years seems to suggest it isn't the obvious
> cause of d_walk talking the rename_lock twice.

It is a fairly obvious case of d_walk() forgetting to drop rename_lock.
See upthread for analysis and (hopefully) a fix.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/