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
..
2017-12-13 13:18:46 -05:00
2018-07-24 14:10:42 -07:00
2018-05-24 22:56:15 -04:00
2018-05-24 22:56:15 -04:00
2018-05-24 22:56:15 -04:00
2018-05-24 22:56:15 -04:00
2018-05-24 22:56:15 -04:00
2018-07-24 14:44:00 -07:00
2018-07-24 14:44:00 -07:00
2018-07-24 14:44:00 -07:00