summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow_table.h
diff options
context:
space:
mode:
authorAndy Zhou <azhou@nicira.com>2014-01-21 18:31:04 +0100
committerJesse Gross <jesse@nicira.com>2014-02-05 07:21:17 +0100
commite80857cce82da31e41a6599fc888dfc92e0167cc (patch)
tree307e621f4780b302065c4a922cab850c864ceab6 /net/openvswitch/flow_table.h
parentopenvswitch: Pad OVS_PACKET_ATTR_PACKET if linear copy was performed (diff)
downloadlinux-e80857cce82da31e41a6599fc888dfc92e0167cc.tar.xz
linux-e80857cce82da31e41a6599fc888dfc92e0167cc.zip
openvswitch: Fix kernel panic on ovs_flow_free
Both mega flow mask's reference counter and per flow table mask list should only be accessed when holding ovs_mutex() lock. However this is not true with ovs_flow_table_flush(). The patch fixes this bug. Reported-by: Joe Stringer <joestringer@nicira.com> Signed-off-by: Andy Zhou <azhou@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/flow_table.h')
-rw-r--r--net/openvswitch/flow_table.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/openvswitch/flow_table.h b/net/openvswitch/flow_table.h
index 1996e34c0fd8..baaeb101924d 100644
--- a/net/openvswitch/flow_table.h
+++ b/net/openvswitch/flow_table.h
@@ -60,7 +60,7 @@ void ovs_flow_free(struct sw_flow *, bool deferred);
int ovs_flow_tbl_init(struct flow_table *);
int ovs_flow_tbl_count(struct flow_table *table);
-void ovs_flow_tbl_destroy(struct flow_table *table);
+void ovs_flow_tbl_destroy(struct flow_table *table, bool deferred);
int ovs_flow_tbl_flush(struct flow_table *flow_table);
int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow,