Subject: Re: [PATCH v2] net: af_packet: don't call tpacket_destruct_skb() until the skb is sent out

From: "Michael S. Tsirkin" <[email-masked]>
Date: Sun, 12 Sep 2010 14:13:49 +0200

On Sat, Sep 11, 2010 at 11:23:23AM +0800, Changli Gao wrote:
> @@ -799,7 +806,9 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail,
>  
>  	memcpy((struct skb_shared_info *)(data + size),
>  	       skb_shinfo(skb),
> -	       offsetof(struct skb_shared_info, frags[skb_shinfo(skb)->nr_frags]));
> +	       offsetof(struct skb_shared_info,
> +			frags[skb_shinfo(skb)->nr_frags]));
> +	skb_shinfo(skb)->destructor = NULL;
>  
>  	/* Check if we can avoid taking references on fragments if we own
>  	 * the last reference on skb->head. (see skb_release_data())

So it looks like pskb_expand_head will prevent the shinfo desctructor
from being called, ever? If so, won't this break af_packet?

-- 
MST