Thread (5 messages) 5 messages, 3 authors, 2018-03-22

Re: [PATCH net] ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state

flat view

From: David Miller <davem@davemloft.net>
Date: 2018-03-22 16:22:28

From: Eric Dumazet <redacted>
Date: Tue, 20 Mar 2018 10:20:15 -0700

On 03/20/2018 10:11 AM, David Lebrun wrote:
quoted
On 20/03/18 15:07, Eric Dumazet wrote:
quoted
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 ?
Yes, GFP_ATOMIC might be an 'easy fix' for net tree,
but for the future, GFP_KERNEL allocations make more sense in control path.
Agreed.

I'll apply this to net and queue it up for -stable, but long term making
this able to use GFP_KERNEL properly is the real way to go about it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help