[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9277b934-63f6-2f16-bd46-948bc64cc46e@gmail.com>
Date: Fri, 22 Feb 2019 10:03:25 -0500
From: David Ahern <dsahern@...il.com>
To: wenxu <wenxu@...oud.cn>, davem@...emloft.net,
netdev@...r.kernel.org
Subject: Re: [PATCH net-next v2] ip_tunnel: Add dst_cache management
lwtunnel_state of ip tunnel
On 2/21/19 11:14 PM, wenxu wrote:
> build_state in the rcu_read_lock and disable the preempt
>
> rcu_read_lock();
> ops = rcu_dereference(lwtun_encaps[encap_type]);
> if (likely(ops && ops->build_state && try_module_get(ops->owner))) {
> found = true;
> ret = ops->build_state(encap, family, cfg, lws, extack);
> if (ret)
> module_put(ops->owner);
> }
> rcu_read_unlock();
>
Missed that.
Once a reference is taken the rcu_read_lock can be dropped before
calling build_state allowing the allocations to be GFP_KERNEL.
Powered by blists - more mailing lists