return;
if (atomic_dec_and_test(&flow->refcnt)) {
- kfree(flow->sf_acts);
+ kfree((struct sf_flow_acts __force *)flow->sf_acts);
kmem_cache_free(flow_cache, flow);
}
}
key->nw_proto = nh->protocol;
/* Transport layer. */
- if (!(nh->frag_off & htons(IP_MF | IP_OFFSET))) {
+ if (!(nh->frag_off & htons(IP_MF | IP_OFFSET)) &&
+ !(skb_shinfo(skb)->gso_type & SKB_GSO_UDP)) {
if (key->nw_proto == IPPROTO_TCP) {
if (tcphdr_ok(skb)) {
struct tcphdr *tcp = tcp_hdr(skb);