Messages in this thread | | | Date | Fri, 24 Aug 2007 16:58:42 +0800 | From | Li Yu <> | Subject | [Question] the precondition of calling alloc_skb()/kfree_skb()? |
| |
Hi, all:
I encountered a problem of using sk_buff.
I used 2.4.20 kernel, when burst traffic come, the kernel will complain a bug report at skbuff.c:316 later:
311 void __kfree_skb(struct sk_buff *skb) 312 { 313 if (skb->list) { 314 printk(KERN_WARNING "Warning: kfree_skb passed an skb still " 315 "on a list (from %p).\n", NET_CALLER(skb)); 316 BUG(); /* HERE!!! */ 317 } /* snip some code here */ 332 }
I saw the dev_kfree_skb_irq() and dev_kfree_skb_irq(), and how to use them. even, in fact, we work in pure poll I/O model, so the NIC can not issue any interrupt.
And, I searched google, there are many similar reports like above, but almost of them have no reply. I think there may have some unknown thing while sk_buff API.
Well, I hope know, are there some preconditions of calling alloc_skb() or *_kfree_skb_*() ? Thank in advanced.
Good luck.
- Yu Li
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |