Re: [PATCH] fbmem: fix race condition between register_framebuffer()and fb_open()
From: Fabio Erculiani
Date: Wed May 25 2011 - 15:04:51 EST
On Wed, May 25, 2011 at 8:57 PM, Bruno PrÃmont
<bonbons@xxxxxxxxxxxxxxxxx> wrote:
> On Wed, 25 May 2011 Fabio Erculiani <lxnay@xxxxxxxxxxx> wrote:
>> On Wed, May 25, 2011 at 8:46 PM, Bruno PrÃmont wrote:
>> > On Wed, 25 May 2011 Fabio Erculiani <lxnay@xxxxxxxxxxx> wrote:
>> >> I'm not a fbdev expert. So I leave the real fix to real men ( ;-) ).
>> >> It is causing deadlock during boot, so I would consider it quite critical.
>> >> Users using any fb driver will get into troubles.
>> >> The workaround is to boot with vga=normal.
>> >
>> > What is your system doing during boot? I've never seen it here but maybe
>> > my boot sequence is too simple.
>>
>> I'm using vesafb and vga=791. It is quite simple to reproduce.
>> Also see: http://bugs.gentoo.org/show_bug.cgi?id=368109
>
> Looks like gentoo kernel, might be splash is related to the hang
Then, if you say so, it must be the fbsplash patch for sure, I keep
forgetting of that :-/
>
>> > Could you tell if it deadlocks before init gets started or afterwards,
>> > which fb drivers (and extra kernel patches if any) are in use.
>>
>> Exactly when register_framebuffer() is called, in my case, early in
>> the boot phase, before init.
>>
>> >
>> > If you have the complete backtrace of the deadlocked processes it would
>> > help getting a better idea of what is affected and how (and why just the
>> > framebuffer's lock is not causing trouble with earlier kernel versions).
>>
>> Because that code got a HUGE rewrite in the latest cycle, where
>> registration_lock has been introduce.
>> Just make a diff between 2.6.38 and 2.6.39. It will be easy to see
>> that SO MANY lines have changed ;-)
>> Anyway, since I'm out of office these days, I won't be able to send
>> you the traceback this week, but since so many people have run into
>> it, I guess it's fairly simple to reproduce.
>
> Rewrite was not so huge, and I'm not affected here (running with KMS
> compiled in though and vanilla kernel).
> Probably the cause is related to one of the extra patches provided by
> Gentoo and subscribing to framebuffer registration notifications.
>
> Will have a look.
Thanks a lot, let me know if I can help out next week.
>
> Bruno
>
--
Fabio Erculiani
--
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/