|
@@ -609,7 +609,8 @@ static void xfrm_hash_rebuild(struct work_struct *work)
|
|
|
|
|
|
|
|
/* re-insert all policies by order of creation */
|
|
/* re-insert all policies by order of creation */
|
|
|
list_for_each_entry_reverse(policy, &net->xfrm.policy_all, walk.all) {
|
|
list_for_each_entry_reverse(policy, &net->xfrm.policy_all, walk.all) {
|
|
|
- if (xfrm_policy_id2dir(policy->index) >= XFRM_POLICY_MAX) {
|
|
|
|
|
|
|
+ if (policy->walk.dead ||
|
|
|
|
|
+ xfrm_policy_id2dir(policy->index) >= XFRM_POLICY_MAX) {
|
|
|
/* skip socket policies */
|
|
/* skip socket policies */
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|