> > @@ -2067,13 +2067,9 @@ static struct sk_buff *smsc95xx_tx_fixup(struct > usbnet *dev, > > /* We do not advertise SG, so skbs should be already linearized */ > > BUG_ON(skb_shinfo(skb)->nr_frags); > > > > - if (skb_headroom(skb) < overhead) { > > - struct sk_buff *skb2 = skb_copy_expand(skb, > > - overhead, 0, flags); > > - dev_kfree_skb_any(skb); > > - skb = skb2; > > - if (!skb) > > - return NULL; > > + /* Make writable and expand header space by overhead if required > */ > > + if (skb_cow_head(skb, overhead)) { > > I believe you still need to > dev_kfree_skb_any(skb); > I think caller of usbnet_start_xmit() takes care of free when return NULL.
- Woojung