DragonFly kernel List (threaded) for 2007-12
DragonFly BSD
DragonFly kernel List (threaded) for 2007-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Kernel panic during boot in usb_add_task


From: Michael Neumann <mneumann@xxxxxxxx>
Date: Mon, 10 Dec 2007 00:12:06 +0100

Matthew Dillon wrote:
:http://opengrok.creo.hu/dragonfly/xref/src/sys/bus/usb/usb.c#374
:
:More specifically:
:
:   http://opengrok.creo.hu/dragonfly/xref/src/sys/sys/queue.h#428
:
:   *(head)->tqh_last = (elm);
:
:This expands to:
:
:   *(&taskq->tasks)->tgh_last = task;
:
:There a NULL pointer is dereferenced somehow.

     It looks like memory corruption.  USB may be issuing duplicate TAILQ
     operations on its taskq structure(s).

     Please try this patch.  If it doesn't work then one or more task
     structure is probably being ripped out from under the usb code,
     probably by somthing related to uhci_timeout() as you previously
     reported.  My guess is that uhci_detach() is ripping the structure
     out without waiting for the abort to finish but lets see if this
     patch has any effect first.

-Matt

No, your patch doesn't work. Thanks anyway!


Regards,

Michael




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]