X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=datapath%2Fflow_table.c;h=fa7ad36158e3060d6631ced2c710a507ea1bc5ad;hb=fa10709d1e2413ff1b5ad667595338041bbeb76b;hp=2e8557c4dbdd775266850e5121f744f05a907783;hpb=4366871536e3fef825f886cf917953d7a3af76ba;p=cascardo%2Fovs.git diff --git a/datapath/flow_table.c b/datapath/flow_table.c index 2e8557c4d..fa7ad3615 100644 --- a/datapath/flow_table.c +++ b/datapath/flow_table.c @@ -167,11 +167,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--;