Re: btrfs: lock inversion between delayed_node->mutex and found->groups_sem

From: David Sterba
Date: Mon Apr 07 2014 - 12:55:19 EST


On Fri, Apr 04, 2014 at 05:15:23PM -0400, Sasha Levin wrote:
> On 03/26/2014 01:01 PM, Jeff Mahoney wrote:
> > On 3/17/14, 9:05 AM, David Sterba wrote:
> >>> On Fri, Mar 14, 2014 at 08:12:16PM -0400, Sasha Levin wrote:
> >>>>> While fuzzing with trinity inside a KVM tools guest running the latest -next kernel I've stumbled on the following:
> >>>>>
> >>>>> [ 788.458756] CPU0 CPU1 [ 788.459188] ---- ---- [ 788.459625] lock(&found->groups_sem); [ 788.460041] local_irq_disable(); [ 788.460041] lock(&delayed_node->mutex); [ 788.460041] lock(&found->groups_sem); [ 788.460041] <Interrupt> [ 788.460041] lock(&delayed_node->mutex); [ 788.460041] [ 788.460041] *** DEADLOCK *** [ 788.460041] [ 788.460041] 2 locks held by kswapd3/4199:
> >>>
> >>> I've once (3.14-rc5) seen the same warning also caused by xfstests/generic/224
> > I think this is from my sysfs patches. We call kobject_add while holding the group_sem. kobject_add ultimately allocates with GFP_KERNEL, so it can enter reclaim. This particular case isn't dangerous, but it could hit while hot-adding a device. The fix should be pretty simple.
>
> Is that fix available anywhere? I'm still seeing the issue in -next.

It is: https://patchwork.kernel.org/patch/3894781/ , will probably hit -rc2
--
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/