Re: 2.6.34 Crash in dmaengine_put()
From: Eric Dumazet
Date: Tue Jun 22 2010 - 10:50:58 EST
Le mardi 22 juin 2010 Ã 08:08 -0600, Jeffrey Merkey a Ãcrit :
Please dont top post on lkml (or netdev) messages
> OK. This bug occurs if you OR in the IFF_UP flag while creating
> virtual interfaces without going through the normal ifup/ifdown
> scripts. Looks like a hole. I will post the trace shortly. It's
> easy to reproduce, take the dummy net driver, OR in the IFF_UP flag in
> dummy_setup, and watch the kernel crash.
>
Then dont do that ?
No need to send us a trace, unless you use a pristine kernel.
IFF_UP changes rules are very strict, dont try to avoid them and claim
there is a hole or something wrong.
Check __dev_open() , __dev_close() and __dev_change_flags() were OR/AND
IFF_UP is done by core network.
Net drivers are not allowed to change IFF_UP themselves.
(DE-600 & DE-620 being the exceptions to confirm this rule, of course)
> Jeff
>
> On Mon, Jun 21, 2010 at 9:28 PM, Andrew Morton
> <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, 21 Jun 2010 20:57:40 -0600 Jeffrey Merkey <jeffmerkey@xxxxxxxxx> wrote:
> >
> >> If someone sets the IFF_UP flags in the netdev structure without going
> >> through ifup userspace stuff, during unregister of the the netdev
> >> the dmaengine-put code will decrement the reference counter negative,
> >> and crash at BUG! in the driver/dma/dmaengine.c code. This seems
> >> busted.
> >>
> >
> > Please send a copy of the kernel BUG trace.
> >
> -
--
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/