From: Ying Xue <ying....@windriver.com>
Date: Wed, 14 Feb 2018 13:37:57 +0800
> At present it's unsafe to configure link properties through netlink
> as the entire setting process is not under RTNL lock protection. Now
> TIPC supports two different sets of netlink APIs at the same time, and
> they share the same set of backend functions to configure bearer,
> media and net properties. In order to solve the missing RTNL issue,
> we have to make the whole __tipc_nl_compat_doit() protected by RTNL,
> which means any function called within it cannot take RTNL any more.
> So in the series we first introduce the following new functions which
> doesn't hold RTNl lock:
> - __tipc_nl_bearer_disable()
> - __tipc_nl_bearer_enable()
> - __tipc_nl_bearer_set()
> - __tipc_nl_media_set()
> - __tipc_nl_net_set()
> Meanwhile, __tipc_nl_compat_doit() has been reconstructed to minimize
> the time of holding RTNL lock.
> Changes in v4:
> - Per suggestion of Kirill Tkhai, divided original big one patch into
> seven small ones so that they can be easily reviewed.
> Changes in v3:
> - Optimized return method of __tipc_nl_bearer_enable() regarding
> the comments from David M and Kirill Tkhai
> - Moved the allocations of memory in __tipc_nl_compat_doit() out
> of RTNL lock to minimize the time of holding RTNL lock according
> to the suggestion of Kirill Tkhai.
> Changes in v2:
> - The whole operation of setting bearer/media properties has been
> protected under RTNL, as per feedback from David M.
Series applied, thank you.