idrinfo 27 include/net/act_api.h struct tcf_idrinfo *idrinfo; idrinfo 113 include/net/act_api.h struct tcf_idrinfo *idrinfo; idrinfo 123 include/net/act_api.h tn->idrinfo = kmalloc(sizeof(*tn->idrinfo), GFP_KERNEL); idrinfo 124 include/net/act_api.h if (!tn->idrinfo) idrinfo 127 include/net/act_api.h tn->idrinfo->net = net; idrinfo 128 include/net/act_api.h mutex_init(&tn->idrinfo->lock); idrinfo 129 include/net/act_api.h idr_init(&tn->idrinfo->action_idr); idrinfo 134 include/net/act_api.h struct tcf_idrinfo *idrinfo); idrinfo 145 include/net/act_api.h tcf_idrinfo_destroy(tn->ops, tn->idrinfo); idrinfo 146 include/net/act_api.h kfree(tn->idrinfo); idrinfo 127 net/sched/act_api.c struct tcf_idrinfo *idrinfo = p->idrinfo; idrinfo 129 net/sched/act_api.c if (refcount_dec_and_mutex_lock(&p->tcfa_refcnt, &idrinfo->lock)) { idrinfo 132 net/sched/act_api.c idr_remove(&idrinfo->action_idr, p->tcfa_index); idrinfo 133 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 214 net/sched/act_api.c static int tcf_dump_walker(struct tcf_idrinfo *idrinfo, struct sk_buff *skb, idrinfo 221 net/sched/act_api.c struct idr *idr = &idrinfo->action_idr; idrinfo 226 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 261 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 279 net/sched/act_api.c idr_remove(&p->idrinfo->action_idr, p->tcfa_index); idrinfo 287 net/sched/act_api.c static int tcf_del_walker(struct tcf_idrinfo *idrinfo, struct sk_buff *skb, idrinfo 293 net/sched/act_api.c struct idr *idr = &idrinfo->action_idr; idrinfo 304 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 311 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 315 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 332 net/sched/act_api.c struct tcf_idrinfo *idrinfo = tn->idrinfo; idrinfo 335 net/sched/act_api.c return tcf_del_walker(idrinfo, skb, ops); idrinfo 337 net/sched/act_api.c return tcf_dump_walker(idrinfo, skb, cb); idrinfo 348 net/sched/act_api.c struct tcf_idrinfo *idrinfo = tn->idrinfo; idrinfo 351 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 352 net/sched/act_api.c p = idr_find(&idrinfo->action_idr, index); idrinfo 357 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 367 net/sched/act_api.c static int tcf_idr_delete_index(struct tcf_idrinfo *idrinfo, u32 index) idrinfo 372 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 373 net/sched/act_api.c p = idr_find(&idrinfo->action_idr, index); idrinfo 375 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 383 net/sched/act_api.c WARN_ON(p != idr_remove(&idrinfo->action_idr, idrinfo 385 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 396 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 405 net/sched/act_api.c struct tcf_idrinfo *idrinfo = tn->idrinfo; idrinfo 438 net/sched/act_api.c p->idrinfo = idrinfo; idrinfo 456 net/sched/act_api.c struct tcf_idrinfo *idrinfo = tn->idrinfo; idrinfo 458 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 460 net/sched/act_api.c WARN_ON(!IS_ERR(idr_replace(&idrinfo->action_idr, a, a->tcfa_index))); idrinfo 461 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 469 net/sched/act_api.c struct tcf_idrinfo *idrinfo = tn->idrinfo; idrinfo 471 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 473 net/sched/act_api.c WARN_ON(!IS_ERR(idr_remove(&idrinfo->action_idr, index))); idrinfo 474 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 487 net/sched/act_api.c struct tcf_idrinfo *idrinfo = tn->idrinfo; idrinfo 492 net/sched/act_api.c mutex_lock(&idrinfo->lock); idrinfo 494 net/sched/act_api.c p = idr_find(&idrinfo->action_idr, *index); idrinfo 499 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 511 net/sched/act_api.c ret = idr_alloc_u32(&idrinfo->action_idr, NULL, index, idrinfo 514 net/sched/act_api.c idr_replace(&idrinfo->action_idr, idrinfo 520 net/sched/act_api.c ret = idr_alloc_u32(&idrinfo->action_idr, NULL, index, idrinfo 523 net/sched/act_api.c idr_replace(&idrinfo->action_idr, ERR_PTR(-EBUSY), idrinfo 526 net/sched/act_api.c mutex_unlock(&idrinfo->lock); idrinfo 532 net/sched/act_api.c struct tcf_idrinfo *idrinfo) idrinfo 534 net/sched/act_api.c struct idr *idr = &idrinfo->action_idr; idrinfo 547 net/sched/act_api.c idr_destroy(&idrinfo->action_idr); idrinfo 1224 net/sched/act_api.c struct tcf_idrinfo *idrinfo = a->idrinfo; idrinfo 1235 net/sched/act_api.c ret = tcf_idr_delete_index(idrinfo, act_index); idrinfo 82 net/sched/act_ipt.c ipt_destroy_target(ipt->tcfi_t, a->idrinfo->net);