Lines Matching defs:bin
698 struct xfrm_pol_inexact_bin *bin, *prev;
710 bin = rhashtable_lookup_fast(&xfrm_policy_inexact_table, &k,
712 if (bin)
713 return bin;
715 bin = kzalloc(sizeof(*bin), GFP_ATOMIC);
716 if (!bin)
719 bin->k = k;
720 INIT_HLIST_HEAD(&bin->hhead);
721 bin->root_d = RB_ROOT;
722 bin->root_s = RB_ROOT;
723 seqcount_spinlock_init(&bin->count, &net->xfrm.xfrm_policy_lock);
726 &bin->k, &bin->head,
729 list_add(&bin->inexact_bins, &net->xfrm.inexact_bins);
730 return bin;
733 kfree(bin);
1117 struct xfrm_pol_inexact_bin *bin, *t;
1121 list_for_each_entry_safe(bin, t, &net->xfrm.inexact_bins, inexact_bins)
1122 __xfrm_policy_inexact_prune_bin(bin, false);
1126 xfrm_policy_inexact_alloc_chain(struct xfrm_pol_inexact_bin *bin,
1136 return &bin->hhead;
1141 write_seqcount_begin(&bin->count);
1143 &bin->root_s,
1148 write_seqcount_end(&bin->count);
1156 write_seqcount_begin(&bin->count);
1158 &bin->root_d,
1162 write_seqcount_end(&bin->count);
1172 write_seqcount_begin(&bin->count);
1178 write_seqcount_end(&bin->count);
1188 struct xfrm_pol_inexact_bin *bin;
1193 bin = xfrm_policy_inexact_alloc_bin(policy, dir);
1194 if (!bin)
1200 chain = xfrm_policy_inexact_alloc_chain(bin, policy, dir);
1202 __xfrm_policy_inexact_prune_bin(bin, false);
1208 __xfrm_policy_inexact_prune_bin(bin, false);
1216 __xfrm_policy_inexact_prune_bin(bin, false);
1255 struct xfrm_pol_inexact_bin *bin;
1284 bin = xfrm_policy_inexact_alloc_bin(policy, dir);
1285 if (!bin)
1288 if (!xfrm_policy_inexact_alloc_chain(bin, policy, dir))
1644 struct xfrm_pol_inexact_bin *bin = NULL;
1655 bin = xfrm_policy_inexact_lookup(net, type,
1657 if (!bin) {
1662 if (!xfrm_policy_find_inexact_candidates(&cand, bin,
1703 if (bin && delete)
1704 xfrm_policy_inexact_prune_bin(bin);
2001 struct xfrm_pol_inexact_bin *bin;
2006 bin = xfrm_policy_inexact_lookup_rcu(net, type, family, dir, if_id);
2009 return bin;
2083 struct xfrm_pol_inexact_bin *bin;
2116 bin = xfrm_policy_inexact_lookup_rcu(net, type, family, dir, if_id);
2117 if (!bin || !xfrm_policy_find_inexact_candidates(&cand, bin, saddr,