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))