Last commit
738a2445c0 introduced a bug where the mask list of
a flow table was freed even when the table's flows and mask list is
reused by another table.
Bug #32932
Reported-by: Len Gao <leng@vmware.com>
Signed-off-by: Andy Zhou <azhou@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
static void __flow_tbl_destroy(struct flow_table *table)
{
- BUG_ON(!list_empty(table->mask_list));
- kfree(table->mask_list);
+ if (!table->keep_flows) {
+ BUG_ON(!list_empty(table->mask_list));
+ kfree(table->mask_list);
+ }
free_buckets(table->buckets);
kfree(table);