]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: flower: don't check for rtnl on head dereference
authorVlad Buslov <vladbu@mellanox.com>
Thu, 21 Mar 2019 13:17:33 +0000 (15:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Mar 2019 21:32:17 +0000 (14:32 -0700)
commit52207fbca07d2bd5267f85feb06b8109d76c4603
tree25c34d5703e6a1d5c76f9983e982a8aa5bedd83f
parent612be5767e261c704925bc990074bf11cb7e9f4e
net: sched: flower: don't check for rtnl on head dereference

Flower classifier only changes root pointer during init and destroy. Cls
API implements reference counting for tcf_proto, so there is no danger of
concurrent access to tp when it is being destroyed, even without protection
provided by rtnl lock.

Implement new function fl_head_dereference() to dereference tp->root
without checking for rtnl lock. Use it in all flower function that obtain
head pointer instead of rtnl_dereference().

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