On 04/18/2018 10:10 AM, David Ahern wrote: > On 4/18/18 11:06 AM, Eric Dumazet wrote: >> >> >> On 04/17/2018 05:33 PM, David Ahern wrote: >>> Most FIB entries can be added using memory allocated with GFP_KERNEL. >>> Add gfp_flags to ip6_route_add and addrconf_dst_alloc. Code paths that >>> can be reached from the packet path (e.g., ndisc and autoconfig) or >>> atomic notifiers use GFP_ATOMIC; paths from user context (adding >>> addresses and routes) use GFP_KERNEL. >>> >>> Signed-off-by: David Ahern <dsah...@gmail.com> >>> --- >> >> >> Hmmm.... >> >> ipv6_ifa_notify() calls __ipv6_ifa_notify() under >> rcu_read_lock_bh()/rcu_read_unlock_bh() >> >> So using GFP_KERNEL in __ipv6_ifa_notify() is certainly not allowed. >> >> > > Thanks for catching that. Will add fix to my followup set. > BTW, I am not sure why we use rcu_read_lock_bh()/rcu_read_unlock_bh() there :/
Maybe it is no longer needed.