From 15333144ce2b95acca047cea3ba53a5ddab1d5a0 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 19 Jul 2008 23:09:43 +0000
Subject: [PATCH] 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
---
 target/linux/generic-2.6/files/drivers/net/phy/mvswitch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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)
-- 
GitLab