summaryrefslogtreecommitdiffstats
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
authorShmulik Ladkani2016-09-20 11:48:37 +0200
committerDavid S. Miller2016-09-22 07:35:57 +0200
commitecf4ee41d25832a6ec52f8b54dfaa46c08b949d5 (patch)
tree1fe4847e6939be2735bce8f6d7bee92dcfcd08a9 /net/core/skbuff.c
parentnet: skbuff: Remove errornous length validation in skb_vlan_pop() (diff)
downloadkernel-qcow2-linux-ecf4ee41d25832a6ec52f8b54dfaa46c08b949d5.tar.gz
kernel-qcow2-linux-ecf4ee41d25832a6ec52f8b54dfaa46c08b949d5.tar.xz
kernel-qcow2-linux-ecf4ee41d25832a6ec52f8b54dfaa46c08b949d5.zip
net: skbuff: Coding: Use eth_type_vlan() instead of open coding it
Fix 'skb_vlan_pop' to use eth_type_vlan instead of directly comparing skb->protocol to ETH_P_8021Q or ETH_P_8021AD. Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> Reviewed-by: Pravin B Shelar <pshelar@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r--net/core/skbuff.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index b2a51bf1b0f9..d36c7548952f 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -4567,8 +4567,7 @@ int skb_vlan_pop(struct sk_buff *skb)
if (likely(skb_vlan_tag_present(skb))) {
skb->vlan_tci = 0;
} else {
- if (unlikely(skb->protocol != htons(ETH_P_8021Q) &&
- skb->protocol != htons(ETH_P_8021AD)))
+ if (unlikely(!eth_type_vlan(skb->protocol)))
return 0;
err = __skb_vlan_pop(skb, &vlan_tci);
@@ -4576,8 +4575,7 @@ int skb_vlan_pop(struct sk_buff *skb)
return err;
}
/* move next vlan tag to hw accel tag */
- if (likely(skb->protocol != htons(ETH_P_8021Q) &&
- skb->protocol != htons(ETH_P_8021AD)))
+ if (likely(!eth_type_vlan(skb->protocol)))
return 0;
vlan_proto = skb->protocol;