On 20/03/18 15:07, Eric Dumazet wrote:
This is not the proper fix.
Control path holds RTNL and can sleeep if needed.
RCU should be avoided in lwtunnel_build_state()
+Roopa
In lwtunnel_build_state(), the RCU protects the lwtunnel_encap_ops "ops"
which is rcu-dereferenced. Moreover, the lwtunnel_state_alloc()
function, which is used in all build_state functions, also uses
GFP_ATOMIC, so this seemed a proper fix, or at least proper mitigation.
Do you suggest that the lwtunnel_encap_ops can be protected in a
different way, not requiring RCU ?