Vlad Buslov ec3ed293e7 net_sched: change tcf_del_walker() to take idrinfo->lock
Action API was changed to work with actions and action_idr in concurrency
safe manner, however tcf_del_walker() still uses actions without taking a
reference or idrinfo->lock first, and deletes them directly, disregarding
possible concurrent delete.

Change tcf_del_walker() to take idrinfo->lock while iterating over actions
and use new tcf_idr_release_unsafe() to release them while holding the
lock.

And the blocking function fl_hw_destroy_tmplt() could be called when we
put a filter chain, so defer it to a work queue.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
[xiyou.wangcong@gmail.com: heavily modify the code and changelog]
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-21 08:55:05 -07:00
..
2018-07-24 14:10:42 -07:00
2018-08-13 20:45:49 -07:00
2018-07-24 14:10:42 -07:00
2018-07-30 09:10:25 -07:00
2018-09-10 10:06:53 -07:00
2018-08-23 16:03:58 -07:00
2018-07-24 14:10:42 -07:00
2018-07-24 14:10:42 -07:00
2018-07-24 14:10:43 -07:00