On Mon, Jul 22, 2013 at 10:58 AM, Ben Pfaff <b...@nicira.com> wrote:
> I'm getting the following warning on current master (commit
> dc0d542d5254c1e6 "datapath: Conditionally define skb_unclone in
> datapath compat code"):
>
>     datapath/flow.c:1051:32: error: incompatible types in comparison
>     expression (different address spaces)
>
> That's in ovs_masked_flow_lookup():
>
>         hlist_for_each_entry_rcu(flow, head, hash_node[table->node_ver]) {
> 1051 ->         if (flow->mask == mask &&
>                     __flow_cmp_key(flow, &masked_key, key_start, key_len))
>                         return flow;
>         }

This is due to a missing RCU annotation when dereferencing flow->mask.
It's not a real problem because the mask never changes once assigned
to a flow so the use of RCU is really somewhat limited here.

My inclination is to just remove the RCU annotation from the mask in
the flow declaration (and corresponding assignments/dereferences)
since they are somewhat misleading when it comes to flows.

Andy, can you take a look?
X-CudaMail-Whitelist-To: dev@openvswitch.org
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to