|
|
@@ -336,13 +336,13 @@ Signed-off-by: Kevin Darbyshire-Bryant <[email protected]>
|
|
|
+ action = READ_ONCE(ca->tcf_action);
|
|
|
+
|
|
|
+ wlen = skb_network_offset(skb);
|
|
|
-+ if (tc_skb_protocol(skb) == htons(ETH_P_IP)) {
|
|
|
++ if (skb_protocol(skb, true) == htons(ETH_P_IP)) {
|
|
|
+ wlen += sizeof(struct iphdr);
|
|
|
+ if (!pskb_may_pull(skb, wlen))
|
|
|
+ goto out;
|
|
|
+
|
|
|
+ proto = NFPROTO_IPV4;
|
|
|
-+ } else if (tc_skb_protocol(skb) == htons(ETH_P_IPV6)) {
|
|
|
++ } else if (skb_protocol(skb, true) == htons(ETH_P_IPV6)) {
|
|
|
+ wlen += sizeof(struct ipv6hdr);
|
|
|
+ if (!pskb_may_pull(skb, wlen))
|
|
|
+ goto out;
|