--- x/net/core/flow_dissector.c +++ y/net/core/flow_dissector.c @@ -1163,10 +1163,8 @@ proto_again: switch (proto) { case htons(ETH_P_IP): { - const struct iphdr *iph; - struct iphdr _iph; + const struct iphdr *iph = (struct iphdr *) skb_network_header(skb); - iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); if (!iph || iph->ihl < 5) { fdret = FLOW_DISSECT_RET_OUT_BAD; break;