]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: flower: track filter deletion with flag
authorVlad Buslov <vladbu@mellanox.com>
Thu, 21 Mar 2019 13:17:36 +0000 (15:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Mar 2019 21:32:17 +0000 (14:32 -0700)
commitdd7a4faa9b2c36573700e78d36a1bf7fd675df41
tree3042c0c081a606768562826789af2ad4568a2358
parent1883d6475ca9f99e2b0c108c6e927d98e888d258
net: sched: flower: track filter deletion with flag

In order to prevent double deletion of filter by concurrent tasks when rtnl
lock is not used for synchronization, add 'deleted' filter field. Check
value of this field when modifying filters and return error if concurrent
deletion is detected.

Refactor __fl_delete() to accept pointer to 'last' boolean as argument,
and return error code as function return value instead. This is necessary
to signal concurrent filter delete to caller.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flower.c