mirror of https://gitee.com/openkylin/linux.git
xfrm: Use rcu_dereference_bh to deference pointer protected by rcu_read_lock_bh
Signed-off-by: Fan Du <fan.du@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
02644a1745
commit
56892261ed
|
@ -2501,11 +2501,11 @@ static void __net_init xfrm_dst_ops_init(struct net *net)
|
||||||
struct xfrm_policy_afinfo *afinfo;
|
struct xfrm_policy_afinfo *afinfo;
|
||||||
|
|
||||||
rcu_read_lock_bh();
|
rcu_read_lock_bh();
|
||||||
afinfo = rcu_dereference(xfrm_policy_afinfo[AF_INET]);
|
afinfo = rcu_dereference_bh(xfrm_policy_afinfo[AF_INET]);
|
||||||
if (afinfo)
|
if (afinfo)
|
||||||
net->xfrm.xfrm4_dst_ops = *afinfo->dst_ops;
|
net->xfrm.xfrm4_dst_ops = *afinfo->dst_ops;
|
||||||
#if IS_ENABLED(CONFIG_IPV6)
|
#if IS_ENABLED(CONFIG_IPV6)
|
||||||
afinfo = rcu_dereference(xfrm_policy_afinfo[AF_INET6]);
|
afinfo = rcu_dereference_bh(xfrm_policy_afinfo[AF_INET6]);
|
||||||
if (afinfo)
|
if (afinfo)
|
||||||
net->xfrm.xfrm6_dst_ops = *afinfo->dst_ops;
|
net->xfrm.xfrm6_dst_ops = *afinfo->dst_ops;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue