blob: ef5a945ec46df094183afb8c297bdf785b96d9dd [file] [log] [blame]
From 7724f6e0b13ef46007965efdcfade8ade304f7df Mon Sep 17 00:00:00 2001
From: Per Forlin <per.forlin@axis.com>
Date: Thu, 13 Feb 2020 15:37:09 +0100
Subject: [PATCH] net: dsa: tag_qca: Make sure there is headroom for tag
commit 04fb91243a853dbde216d829c79d9632e52aa8d9 upstream.
Passing tag size to skb_cow_head will make sure
there is enough headroom for the tag data.
This change does not introduce any overhead in case there
is already available headroom for tag.
Signed-off-by: Per Forlin <perfn@axis.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
index c8a128c9e5e0..70db7c909f74 100644
--- a/net/dsa/tag_qca.c
+++ b/net/dsa/tag_qca.c
@@ -33,7 +33,7 @@ static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
struct dsa_port *dp = dsa_slave_to_port(dev);
u16 *phdr, hdr;
- if (skb_cow_head(skb, 0) < 0)
+ if (skb_cow_head(skb, QCA_HDR_LEN) < 0)
return NULL;
skb_push(skb, QCA_HDR_LEN);
--
2.7.4