> -     fwd_skb = skb_copy(skb, GFP_ATOMIC);
> +     if (skb_headroom(skb) >= local->tx_headroom)
> +             fwd_skb = skb_copy(skb, GFP_ATOMIC);
> +     else
> +             fwd_skb = skb_copy_expand(skb, local->tx_headroom,
> +                                       0, GFP_ATOMIC);

Why bother making this conditional? It seems that always using
skb_copy_expand() should be sufficient? The code between the two
(skb_copy, skb_copy_expand) is almost identical anyway, apart from the
latter setting the headroom (and tailroom).

johannes

Reply via email to