• Vlad Buslov's avatar
    net: sched: act_ife: remove dependency on rtnl lock · 54d0d423
    Vlad Buslov authored
    Use tcf spinlock and rcu to protect params pointer from concurrent
    modification during dump and init. Use rcu swap operation to reassign
    params pointer under protection of tcf lock. (old params value is not used
    by init, so there is no need of standalone rcu dereference step)
    
    Ife action has meta-actions that are compiled as standalone modules. Rtnl
    mutex must be released while loading a kernel module. In order to support
    execution without rtnl mutex, propagate 'rtnl_held' argument to meta action
    loading functions. When requesting meta action module, conditionally
    release rtnl lock depending on 'rtnl_held' argument.
    Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    54d0d423
act_ife.c 20.3 KB