On Fri, Mar 11, 2011 at 03:12:22PM -0800, Ping Cheng wrote: > On Thu, Mar 10, 2011 at 7:45 PM, Peter Hutterer > <[email protected]>wrote: > > > On Thu, Mar 10, 2011 at 05:51:34PM -0800, Ping Cheng wrote: > > > On Wed, Mar 2, 2011 at 10:06 PM, Peter Hutterer < > > [email protected]>wrote: > > > > > > > There is a small time window where a device may try to send an event > > even > > > > though it is not fully setup to send events yet, causing a server > > crash. > > > > > > > > This window opens when the tool is added to the list of devices in > > > > wcmParseOptions() and closes with the server calling > > xf86ActivateDevice(). > > > > If an event for a dependent device is processed during that time, the > > tool > > > > will be available but the device pointer is still invalid. > > > > > > > > Crash can be reproduced by putting a breakpoint after wcmParseOptions() > > for > > > > the eraser, then generating events with the eraser. These will cause > > the > > > > tool to dereference tool->device->dev, which is uninitialized. > > > > > > > > Work around this with a simple "enabled" flag that is set whenever the > > tool > > > > is actually enabled. > > > > > > > > > > What's the plan for this patchset? > > > > have you seen the crash with this patch applied? > > > > Well, I am not doing any of those extensive testing myself. > > > > I'm still waiting for the testing feedback. > > > No one is doing the testing for this driver in my sphere. The users are > still living in the old world. > > > > I've tested it with gdb, forcing > > some race conditions and AFAICT this bug is fixed with this patch. The X > > server patch that left a small window open that could cause weird events > > (though unlikely to crash) is in the server. > > > > If you say so, let's merge it to the release to get a broader testing base. > So, the whole series is: > > Acked-by: Ping Cheng <[email protected]>
thanks, branch merged. Cheers, Peter > > > Is it possible to make a common->enabled > > > so we can disable the Read in xf86Wacom.c or at least stop process the > > data > > > as what you did in this patch for all tools on the same port while > > > initializing the tools? > > > > With this patch, we don't need the common->enabled hack. If twools are on > > two different kernel devices, the bug can't hit us anyway, can it? > > > > I hope so too. Let's wish for the best ;). > > Ping ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
