Re: bluetooth memory corruption (was Re: ext3-related crash in2.6.20-rc1)

From: Marcel Holtmann
Date: Thu Dec 28 2006 - 05:44:30 EST


Hi Pavel,

> > > > > I got this nasty oops while playing with debugger. Not sure if that is
> > > > > related; it also might be something with bluetooth; I already know it
> > > > > corrupts memory during suspend, perhaps it corrupts memory in some
> > > > > error path?
> > > >
> > > > Okay, I spoke too soon. bluetooth & suspend memory corruption was
> > > > _way_ harder to reproduce than expected. Took me 5-or-so-suspend
> > > > cycles... so it is probably unrelated to the previous crash.
> > >
> > > can you try to reproduce this with 2.6.20-rc2 as well.
> >
> > (reproduced in another mail).
> >
> > _urb_queue_tail(__pending_q(husb, _urb->type), _urb);
> > err = usb_submit_urb(urb, GFP_ATOMIC);
> > if (err) {
> > BT_ERR("%s tx submit failed urb %p type %d err %d",
> > husb->hdev->name, urb, _urb->type, err);
> > _urb_unlink(_urb);
> >
> > ~~~~~~~~~~~~~~~~~~
> > Do we need to remove urb from pending_q here?
> >
> > _urb_queue_tail(__completed_q(husb, _urb->type), _urb);
> > } else
> > atomic_inc(__pending_tx(husb, _urb->type));
> >
>
> Any news? Should I convert above idea to a patch? Or should I make
> bluetooth suspend() routine return error so corruption is impossible
> to hit?

to be honest, I have no idea. This code is way to ugly anyway.

Regards

Marcel


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