|
@@ -626,6 +626,10 @@ 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) {
|
|
|
|
+ /* skip socket policies */
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
newpos = NULL;
|
|
newpos = NULL;
|
|
chain = policy_hash_bysel(net, &policy->selector,
|
|
chain = policy_hash_bysel(net, &policy->selector,
|
|
policy->family,
|
|
policy->family,
|