diff options
author | Andy Zhou <azhou@nicira.com> | 2014-01-21 09:31:04 -0800 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2014-02-04 22:21:17 -0800 |
commit | e80857cce82da31e41a6599fc888dfc92e0167cc (patch) | |
tree | 307e621f4780b302065c4a922cab850c864ceab6 /net/openvswitch/flow_table.h | |
parent | aea0bb4f8ee513537ad84b9f3f609f96e272d98e (diff) | |
download | lwn-e80857cce82da31e41a6599fc888dfc92e0167cc.tar.gz lwn-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.h | 2 |
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, |