Re: [linux-usb-devel] Bug creating USB endpoints in 2.6.20.x (kernelbug 8198)

From: Tejun Heo
Date: Wed May 09 2007 - 11:01:46 EST


Greg KH wrote:
> On Wed, May 09, 2007 at 03:30:41PM +0200, Tejun Heo wrote:
>> Chris Rankin wrote:
>>> --- Tejun Heo <htejun@xxxxxxxxx> wrote:
>>>> So, we can fix the problem Chris is seeing by breaking module unload (by
>>>> allowing it to unload too early). It doesn't sound too hot but module
>>>> unloading race is much less likely than sysfs node deletion/open race.
>>> Yikes! Just temporary breakage, I hope :-)!! The only modules I unload on a regular basis these
>>> days are things like "microcode", which the init scripts take care of as part of the boot-up
>>> process.
>> Okay, here's a half-assed fix. With this patch applied, if you try to
>> unload a module while you're opening it's dev attribute, kernel will
>> oops later when the file is accessed or closed later but it should fix
>> the bug winecfg triggers. I really dunno how to fix this the right way
>> in the stable kernel. Better ideas? Anyone?
>
> This looks like the correct fix, the only reason I made this dynamic was
> to properly set up the module owner. And now that you have removed that
> link in your sysfs rework, it can go and become static again.
>
> Oh, and this isn't a "device node", it's just a text file that contains
> the major:minor number for a device node to be created from.
>
> So, care to fix up the class code too and send a patch with a
> signed-off-by:?

I think the proper fix for -stable is to free the structure in
device_release(). I asked Chris to test it. After he confirms, I'll
send a proper patch with S-O-B.

For -mm, yeap, we can simply make the whole thing static. I'll send
patch for that soon.

Thanks.

--
tejun
-
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/