aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow_table.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/openvswitch/flow_table.c')
-rw-r--r--net/openvswitch/flow_table.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
index 299ea8bb400c..099a1a9a3068 100644
--- a/net/openvswitch/flow_table.c
+++ b/net/openvswitch/flow_table.c
@@ -155,13 +155,6 @@ static void rcu_free_flow_callback(struct rcu_head *rcu)
155 flow_free(flow); 155 flow_free(flow);
156} 156}
157 157
158static void rcu_free_sw_flow_mask_cb(struct rcu_head *rcu)
159{
160 struct sw_flow_mask *mask = container_of(rcu, struct sw_flow_mask, rcu);
161
162 kfree(mask);
163}
164
165static void flow_mask_del_ref(struct sw_flow_mask *mask, bool deferred) 158static void flow_mask_del_ref(struct sw_flow_mask *mask, bool deferred)
166{ 159{
167 if (!mask) 160 if (!mask)
@@ -173,7 +166,7 @@ static void flow_mask_del_ref(struct sw_flow_mask *mask, bool deferred)
173 if (!mask->ref_count) { 166 if (!mask->ref_count) {
174 list_del_rcu(&mask->list); 167 list_del_rcu(&mask->list);
175 if (deferred) 168 if (deferred)
176 call_rcu(&mask->rcu, rcu_free_sw_flow_mask_cb); 169 kfree_rcu(mask, rcu);
177 else 170 else
178 kfree(mask); 171 kfree(mask);
179 } 172 }