X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fflow_table.c;h=20854acdc4ebbce10cd5e9f6fb287029438d337a;hb=b1705c56f366d7dd47c60fed13229db022ce3198;hp=c0ba8ef5426af13005831f006bc3d817097233e2;hpb=b73d3fe2c11d2d670092bce2da48c1ee0f6eaf5f;p=sliver-openvswitch.git diff --git a/datapath/flow_table.c b/datapath/flow_table.c index c0ba8ef54..20854acdc 100644 --- a/datapath/flow_table.c +++ b/datapath/flow_table.c @@ -169,11 +169,12 @@ void ovs_flow_free(struct sw_flow *flow, bool deferred) if (!flow) return; - ASSERT_OVSL(); - if (flow->mask) { struct sw_flow_mask *mask = flow->mask; + /* ovs-lock is required to protect mask-refcount and + * mask list. */ + ASSERT_OVSL(); BUG_ON(!mask->ref_count); mask->ref_count--;