[realtek] Cardbus problem with "kmem_free"

Donald Becker becker@scyld.com
Tue, 23 May 2000 15:56:00 -0400 (EDT)


On Wed, 24 May 2000, Jesse op den Brouw wrote:

> I've bought a Dynalink cardbus card and it's working like a charm now
> using the drivers supplied by Don Becker (took me some time to 
> trace down the drivers....).
> 
> But I'm wondering about kernel message containing kmem_free and alloc_skb.
...
> May 23 21:04:15 baby kernel: eth0: RealTek RTL8139B PCI/CardBus at 0xa00, IRQ 3, 00:10:d7:0a:30:06. 
> May 23 21:04:15 baby cardmgr[449]: executing: './network start eth0'
> May 23 21:04:45 baby kernel: kmem_free: Either bad obj addr or double free (objp=c0f68010, name=size-65536) 
> May 23 21:05:15 baby kernel: kmem_free: Either bad obj addr or double free (objp=c0f68010, name=size-65536) 
> May 23 21:05:15 baby cardmgr[449]: + Determining IP information for eth0...Operation failed.

I don't believe this is a driver bug, it's a protocol level bug.

> May 23 21:03:34 baby kernel: rtl8139_detach(eth0) 
> May 23 21:03:34 baby kernel: alloc_skb called nonatomically from interrupt c01514b1 
> May 23 21:03:34 baby kernel: cs: cb_free(bus 32) 

Nor this.  The driver doesn't allocate any new skbuffs.  But the close is
called during an interrupt (it must -- the card is gone *right now*).
Some kernel versions have poorly written code that assumes only a user-level
program will be shutting the interface down.

> Please mail me direct as I'm not on the list (I tried to but I got
> an error messsage that the request mail address didn't exist).

Try adding yourself at
 http://www.scyld.com/mailman/listinfo/realtek



Donald Becker				becker@scyld.com
Scyld Computing Corporation
410 Severn Ave. Suite 210
Annapolis MD 21403