--- a/net/xfrm/xfrm_policy.c 2005/04/27 15:35:50 1.2 +++ b/net/xfrm/xfrm_policy.c 2005/04/27 20:23:07 @@ -417,7 +417,7 @@ struct xfrm_policy *pol, **p; write_lock_bh(&xfrm_policy_lock); - for (p = &xfrm_policy_list[id & 7]; (pol=*p)!=NULL; p = &pol->next) { + for (p = &xfrm_policy_list[dir]; (pol=*p)!=NULL; p = &pol->next) { if (pol->index == id) { xfrm_pol_hold(pol); if (delete)