Commit 1490ed2a authored by Paolo Abeni's avatar Paolo Abeni Committed by David S. Miller

net/ipv6: prefer rcu_access_pointer() over rcu_dereference()

rt6_cache_allowed_for_pmtu() checks for rt->from presence, but
it does not access the RCU protected pointer. We can use
rcu_access_pointer() and clean-up the code a bit. No functional
changes intended.
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
Reviewed-by: default avatarDavid Ahern <dsahern@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 59e6158a
...@@ -2277,14 +2277,8 @@ static void rt6_do_update_pmtu(struct rt6_info *rt, u32 mtu) ...@@ -2277,14 +2277,8 @@ static void rt6_do_update_pmtu(struct rt6_info *rt, u32 mtu)
static bool rt6_cache_allowed_for_pmtu(const struct rt6_info *rt) static bool rt6_cache_allowed_for_pmtu(const struct rt6_info *rt)
{ {
bool from_set;
rcu_read_lock();
from_set = !!rcu_dereference(rt->from);
rcu_read_unlock();
return !(rt->rt6i_flags & RTF_CACHE) && return !(rt->rt6i_flags & RTF_CACHE) &&
(rt->rt6i_flags & RTF_PCPU || from_set); (rt->rt6i_flags & RTF_PCPU || rcu_access_pointer(rt->from));
} }
static void __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk, static void __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment