Debian: Update change log for 1.1.0~pre2.g2.ea763e0e-1 upload
[openvswitch] / datapath / flow.c
index 5cf0d54a7839860519c9f7337e1890f220c8db95..fb339e73e581a6379a726c14fc0ca592b45ab92b 100644 (file)
@@ -175,7 +175,7 @@ void flow_put(struct sw_flow *flow)
                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);
        }
 }
@@ -333,7 +333,8 @@ int flow_extract(struct sk_buff *skb, u16 in_port, struct odp_flow_key *key,
                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);