Re: [PATCH] fb: Rework locking to fix lock ordering on takeover

From: Sasha Levin
Date: Tue Dec 25 2012 - 11:09:04 EST


On Tue, Dec 18, 2012 at 10:20 AM, Josh Boyer <jwboyer@xxxxxxxxx> wrote:
> On Wed, Nov 21, 2012 at 7:53 AM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
>> On Wed, 21 Nov 2012 07:45:45 -0500
>> Josh Boyer <jwboyer@xxxxxxxxx> wrote:
>>
>>> On Fri, Nov 16, 2012 at 2:27 PM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
>>> >
>>> > [The fb maintainer appears to be absent at the moment].
>>> >
>>> > This is needed to fix a pile of lockdep splats that now show up because console_lock()
>>> > is being properly audited. Hugh Dickins and Sasha Levin have tested it and both reports
>>> > all looks good. This is probably not the whole story - the entire fb layer has locking
>>> > confusion problems that were previously hidden but it seems to get the ones people hit
>>> > in testing. This hopefully explains a few of the weird fb hangs that have been floating
>>> > around forever.
>>> >
>>> > From: Alan Cox <alan@xxxxxxxxxxxxxxx>
>>> >
>>> > Adjust the console layer to allow a take over call where the caller already
>>> > holds the locks. Make the fb layer lock in order.
>>> >
>>> > This s partly a band aid, the fb layer is terminally confused about the
>>> > locking rules it uses for its notifiers it seems.
>>> >
>>> > Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
>>>
>>> Should this eventually get into the stable trees?
>>
>> Thats a question I'm not sure about at this point. I think the bug is
>> real but not caught by the lock checker in older trees but I've not
>> investigated.
>
> So... this patch seems to still be twisting in the wind. It should
> probably be headed into 3.8 at this point, shouldn't it?

Indeed it should. I'm seeing the original warnings in 3.8-rc1 and have
to carry this patch to avoid them.


Thanks,
Sasha
--
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/