Re: Possible bug in keyboard.c (2.6.10)

From: Dmitry Torokhov
Date: Sat Jan 29 2005 - 18:37:19 EST


On Saturday 29 January 2005 06:25, Vojtech Pavlik wrote:
> On Sat, Jan 29, 2005 at 04:50:55AM +0000, Al Viro wrote:
>
> > > I'm very sorry about the locking, but the thing grew up in times of
> > > kernel 2.0, which didn't require any locking. There are a few possible
> >
> > Incorrect. You have blocking allocations in critical areas and they
> > required locking all way back.
>
> Ok. I see a problem where input_register_device() calls input handler
> connect methods, which do kmalloc(). This would be bad even on 2.0.
>
> Anything else? I believe the ->open()/->release() methods are still
> protected.
>

evdev, tsdev, mousedev, joydev need to protect their client lists because
interrupt could try to deliver event to already deleted device (client)
.
> > > races with device registration/unregistration, and it's on my list to
> > > fix that, however under normal operation there shouldn't be any need for
> > > locks, as there are no complex structures built that'd become
> > > inconsistent.
> >
> > Um-hm... Vojtech, meet USB mouse; USB mouse, meet Vojtech. Now watch
> > a disconnect and reconnect happening when luser suddenly gets overexcited
> > and jerks the wrong hand a bit too hard while browsing the most profitable
> > sort of website...
>
> I know. As I said, this is a problem I know about, and will be fixed. I
> was mainly interested whether anyone sees further problems in scenarios
> which don't include device addition/removal.
>
> We already fixed this in serio, and input and gameport are next in the
> list.
>

For the record I am still working on gameport conversion, just did not have
enough time lately...

> > > If you find scenarios which will lead to trouble in the event delivery
> > > system, please tell me, and I'll try to fix that as soon as possible.
> >
> > See above. Devices appearing and disappearing *are* normal.
>

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