David S. Miller wrote:
Here is the current patch.  It dies on the destruction of the
first TCP socket, while pruning the write queue of the socket,
so something is very wrong in the implementation, I just haven't
had a chance to fully debug it yet.

First thing I'd try is to remove the ! from these two tests.

-Tommy

+       case SKB_FCLONE_ORIG:
+               if (!atomic_dec_and_test(&skb->fclone_ref))
+                       kmem_cache_free(skbuff_fclone_cache, skb);
+               break;
+
+       case SKB_FCLONE_CLONE:
+               other = skb - 1;
+
+               if (!atomic_dec_and_test(&other->fclone_ref)) {
+                       kmem_cache_free(skbuff_fclone_cache, other);
+               } else {
+                       /* The clone portion is available for
+                        * fast-cloning again.
+                        */
+                       skb->fclone = SKB_FCLONE_UNAVAILABLE;
+               }
+               break;
+       };
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to