pols 776 include/net/xfrm.h static inline void xfrm_pols_put(struct xfrm_policy **pols, int npols) pols 780 include/net/xfrm.h xfrm_pol_put(pols[i]); pols 935 include/net/xfrm.h struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; pols 976 include/net/xfrm.h xfrm_pols_put(xdst->pols, xdst->num_pols); pols 2417 net/xfrm/xfrm_policy.c xfrm_tmpl_resolve(struct xfrm_policy **pols, int npols, const struct flowi *fl, pols 2428 net/xfrm/xfrm_policy.c if (cnx + pols[i]->xfrm_nr >= XFRM_MAX_DEPTH) { pols 2433 net/xfrm/xfrm_policy.c ret = xfrm_tmpl_resolve_one(pols[i], fl, &tpp[cnx], family); pols 2667 net/xfrm/xfrm_policy.c struct xfrm_policy **pols, pols 2672 net/xfrm/xfrm_policy.c if (*num_pols == 0 || !pols[0]) { pols 2677 net/xfrm/xfrm_policy.c if (IS_ERR(pols[0])) pols 2678 net/xfrm/xfrm_policy.c return PTR_ERR(pols[0]); pols 2680 net/xfrm/xfrm_policy.c *num_xfrms = pols[0]->xfrm_nr; pols 2683 net/xfrm/xfrm_policy.c if (pols[0] && pols[0]->action == XFRM_POLICY_ALLOW && pols 2684 net/xfrm/xfrm_policy.c pols[0]->type != XFRM_POLICY_TYPE_MAIN) { pols 2685 net/xfrm/xfrm_policy.c pols[1] = xfrm_policy_lookup_bytype(xp_net(pols[0]), pols 2689 net/xfrm/xfrm_policy.c pols[0]->if_id); pols 2690 net/xfrm/xfrm_policy.c if (pols[1]) { pols 2691 net/xfrm/xfrm_policy.c if (IS_ERR(pols[1])) { pols 2692 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, *num_pols); pols 2693 net/xfrm/xfrm_policy.c return PTR_ERR(pols[1]); pols 2696 net/xfrm/xfrm_policy.c (*num_xfrms) += pols[1]->xfrm_nr; pols 2701 net/xfrm/xfrm_policy.c if (pols[i]->action != XFRM_POLICY_ALLOW) { pols 2712 net/xfrm/xfrm_policy.c xfrm_resolve_and_create_bundle(struct xfrm_policy **pols, int num_pols, pols 2716 net/xfrm/xfrm_policy.c struct net *net = xp_net(pols[0]); pols 2724 net/xfrm/xfrm_policy.c err = xfrm_tmpl_resolve(pols, num_pols, fl, xfrm, family); pols 2734 net/xfrm/xfrm_policy.c dst = xfrm_bundle_create(pols[0], xfrm, bundle, err, fl, dst_orig); pols 2743 net/xfrm/xfrm_policy.c memcpy(xdst->pols, pols, sizeof(struct xfrm_policy *) * num_pols); pols 2744 net/xfrm/xfrm_policy.c xdst->policy_genid = atomic_read(&pols[0]->genid); pols 2830 net/xfrm/xfrm_policy.c struct xfrm_policy *pol = xdst->pols[0]; pols 2931 net/xfrm/xfrm_policy.c struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; pols 2938 net/xfrm/xfrm_policy.c pols[0] = xfrm_policy_lookup(net, fl, family, dir, if_id); pols 2939 net/xfrm/xfrm_policy.c err = xfrm_expand_policies(fl, family, pols, pols 2948 net/xfrm/xfrm_policy.c xdst = xfrm_resolve_and_create_bundle(pols, num_pols, fl, family, pols 2953 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, num_pols); pols 2973 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, num_pols); pols 2978 net/xfrm/xfrm_policy.c memcpy(xdst->pols, pols, sizeof(struct xfrm_policy *) * num_pols); pols 2985 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, num_pols); pols 3020 net/xfrm/xfrm_policy.c struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; pols 3034 net/xfrm/xfrm_policy.c pols[0] = xfrm_sk_policy_lookup(sk, XFRM_POLICY_OUT, fl, family, pols 3036 net/xfrm/xfrm_policy.c err = xfrm_expand_policies(fl, family, pols, pols 3048 net/xfrm/xfrm_policy.c pols, num_pols, fl, pols 3052 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, num_pols); pols 3089 net/xfrm/xfrm_policy.c memcpy(pols, xdst->pols, sizeof(struct xfrm_policy *) * num_pols); pols 3118 net/xfrm/xfrm_policy.c !(pols[0]->flags & XFRM_POLICY_ICMP)) { pols 3124 net/xfrm/xfrm_policy.c pols[i]->curlft.use_time = ktime_get_real_seconds(); pols 3140 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, drop_pols); pols 3157 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, drop_pols); pols 3507 net/xfrm/xfrm_policy.c struct xfrm_policy *pols[XFRM_POLICY_TYPE_MAX]; pols 3584 net/xfrm/xfrm_policy.c pols[0] = pol; pols 3587 net/xfrm/xfrm_policy.c if (pols[0]->type != XFRM_POLICY_TYPE_MAIN) { pols 3588 net/xfrm/xfrm_policy.c pols[1] = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, pols 3591 net/xfrm/xfrm_policy.c if (pols[1]) { pols 3592 net/xfrm/xfrm_policy.c if (IS_ERR(pols[1])) { pols 3596 net/xfrm/xfrm_policy.c pols[1]->curlft.use_time = ktime_get_real_seconds(); pols 3615 net/xfrm/xfrm_policy.c if (pols[pi] != pol && pols 3616 net/xfrm/xfrm_policy.c pols[pi]->action != XFRM_POLICY_ALLOW) { pols 3620 net/xfrm/xfrm_policy.c if (ti + pols[pi]->xfrm_nr >= XFRM_MAX_DEPTH) { pols 3624 net/xfrm/xfrm_policy.c for (i = 0; i < pols[pi]->xfrm_nr; i++) pols 3625 net/xfrm/xfrm_policy.c tpp[ti++] = &pols[pi]->xfrm_vec[i]; pols 3655 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, npols); pols 3663 net/xfrm/xfrm_policy.c xfrm_pols_put(pols, npols); pols 3809 net/xfrm/xfrm_policy.c xdst->policy_genid != atomic_read(&xdst->pols[0]->genid))