Hello!

> Feb 23 12:42:30 rcc2 kernel: Warning: kfree_skb passed an skb still on a list (from 
>c01f58dc).

BTW, that's didactic example of bug which results in similar behaviour.

Alexey


> From: [EMAIL PROTECTED] (Andrew Morton)
> Subject: Re: Failed assertion
> Date: 27 Feb 2001 04:15:01 +0300
> 
> "David S. Miller" wrote:
> > 
> > Ralf Baechle writes:
> >  > No backtrace, the machine did continue as you'd suspect after a print.
> >  > The machine is a dual CPU Origin 200 with an IOC3 NIC.
> > 
> > What is your current kernel based upon, some older 2.4.x or
> > even 2.3.x variant?  Or is it sync'd to current?
> 
> Could this be a driver problem?  This code:
> 
>             netif_rx(skb);
> 
>             ip->rx_skbs[rx_entry] = NULL;   /* Poison  */
> 
>             new_skb = ioc3_alloc_skb(RX_BUF_ALLOC_SIZE, GFP_ATOMIC);
>             if (!new_skb) {
>                 /* Ouch, drop packet and just recycle packet
>                    to keep the ring filled.  */
>                 ip->stats.rx_dropped++;
>                 new_skb = skb;
>                 goto next;
>             }
> 
> looks scary.  We've passed an skb to the network stack,
> but we can continue to make it available to the device
> driver at the same time.
> 
> I'd suggest a printk() in there, plus perhaps do the
> alloc_skb _before_ the netif_rx().  Don't pass the skb
> to the stack if it is to be recycled.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to