• Vlad Buslov's avatar
    net: sched: unlock rules update API · 470502de
    Vlad Buslov authored
    Register netlink protocol handlers for message types RTM_NEWTFILTER,
    RTM_DELTFILTER, RTM_GETTFILTER as unlocked. Set rtnl_held variable that
    tracks rtnl mutex state to be false by default.
    
    Introduce tcf_proto_is_unlocked() helper that is used to check
    tcf_proto_ops->flag to determine if ops can be called without taking rtnl
    lock. Manually lookup Qdisc, class and block in rule update handlers.
    Verify that both Qdisc ops and proto ops are unlocked before using any of
    their callbacks, and obtain rtnl lock otherwise.
    Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
    Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    470502de
cls_api.c 81.6 KB