|
@@ -632,9 +632,9 @@ static void xfrm_hash_rebuild(struct work_struct *work)
|
|
|
break;
|
|
|
}
|
|
|
if (newpos)
|
|
|
- hlist_add_behind(&policy->bydst, newpos);
|
|
|
+ hlist_add_behind_rcu(&policy->bydst, newpos);
|
|
|
else
|
|
|
- hlist_add_head(&policy->bydst, chain);
|
|
|
+ hlist_add_head_rcu(&policy->bydst, chain);
|
|
|
}
|
|
|
|
|
|
spin_unlock_bh(&net->xfrm.xfrm_policy_lock);
|
|
@@ -774,9 +774,9 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl)
|
|
|
break;
|
|
|
}
|
|
|
if (newpos)
|
|
|
- hlist_add_behind(&policy->bydst, newpos);
|
|
|
+ hlist_add_behind_rcu(&policy->bydst, newpos);
|
|
|
else
|
|
|
- hlist_add_head(&policy->bydst, chain);
|
|
|
+ hlist_add_head_rcu(&policy->bydst, chain);
|
|
|
__xfrm_policy_link(policy, dir);
|
|
|
|
|
|
/* After previous checking, family can either be AF_INET or AF_INET6 */
|