add extra safety for the packet mangling in the mvswitch driver
[openwrt/svn-archive/archive.git] / target / linux / generic-2.6 / files / drivers / net / phy / mvswitch.c
index be9e6afd2d14fbff7ecc5ab30bd39c8e0247aa3b..8eae439f7603482bf97742cd9a353b9b34766a38 100644 (file)
@@ -78,7 +78,7 @@ mvswitch_mangle_tx(struct sk_buff *skb, struct net_device *dev)
        if (__vlan_hwaccel_get_tag(skb, &vid))
                goto error;
 
-       if ((skb->len <= 62) || (skb_headroom(skb) < MV_HEADER_SIZE)) {
+       if (skb_cloned(skb) || (skb->len <= 62) || (skb_headroom(skb) < MV_HEADER_SIZE)) {
                if (pskb_expand_head(skb, MV_HEADER_SIZE, 0, GFP_ATOMIC))
                        goto error_expand;
                if (skb->len < 62)