diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-07-19 23:09:43 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-07-19 23:09:43 +0000 |
commit | 15333144ce2b95acca047cea3ba53a5ddab1d5a0 (patch) | |
tree | b5837a5f747181c9a2df05ffc39fa17bf1f14dc1 | |
parent | f85a5739c0799ee9caa934deab1d9868ad4ca2e4 (diff) |
add extra safety for the packet mangling in the mvswitch driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11880 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/generic-2.6/files/drivers/net/phy/mvswitch.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target/linux/generic-2.6/files/drivers/net/phy/mvswitch.c b/target/linux/generic-2.6/files/drivers/net/phy/mvswitch.c index be9e6afd2d..8eae439f76 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/mvswitch.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/mvswitch.c @@ -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) |