[NETLINK]: Fix infinite loops in synchronous netlink changes.
[powerpc.git] / net / core / skbuff.c
index c965595..f65b3de 100644 (file)
@@ -86,8 +86,10 @@ static kmem_cache_t *skbuff_head_cache;
  */
 void skb_over_panic(struct sk_buff *skb, int sz, void *here)
 {
-       printk(KERN_INFO "skput:over: %p:%d put:%d dev:%s",
-               here, skb->len, sz, skb->dev ? skb->dev->name : "<NULL>");
+       printk(KERN_EMERG "skb_over_panic: text:%p len:%d put:%d head:%p "
+                         "data:%p tail:%p end:%p dev:%s\n",
+              here, skb->len, sz, skb->head, skb->data, skb->tail, skb->end,
+              skb->dev ? skb->dev->name : "<NULL>");
        BUG();
 }
 
@@ -102,8 +104,10 @@ void skb_over_panic(struct sk_buff *skb, int sz, void *here)
 
 void skb_under_panic(struct sk_buff *skb, int sz, void *here)
 {
-       printk(KERN_INFO "skput:under: %p:%d put:%d dev:%s",
-               here, skb->len, sz, skb->dev ? skb->dev->name : "<NULL>");
+       printk(KERN_EMERG "skb_under_panic: text:%p len:%d put:%d head:%p "
+                         "data:%p tail:%p end:%p dev:%s\n",
+              here, skb->len, sz, skb->head, skb->data, skb->tail, skb->end,
+              skb->dev ? skb->dev->name : "<NULL>");
        BUG();
 }
 
@@ -276,20 +280,14 @@ void kfree_skbmem(struct sk_buff *skb)
 
 void __kfree_skb(struct sk_buff *skb)
 {
-       if (skb->list) {
-               printk(KERN_WARNING "Warning: kfree_skb passed an skb still "
-                      "on a list (from %p).\n", NET_CALLER(skb));
-               BUG();
-       }
+       BUG_ON(skb->list != NULL);
 
        dst_release(skb->dst);
 #ifdef CONFIG_XFRM
        secpath_put(skb->sp);
 #endif
-       if(skb->destructor) {
-               if (in_irq())
-                       printk(KERN_WARNING "Warning: kfree_skb on "
-                                           "hard IRQ %p\n", NET_CALLER(skb));
+       if (skb->destructor) {
+               WARN_ON(in_irq());
                skb->destructor(skb);
        }
 #ifdef CONFIG_NETFILTER