Lines Matching refs:rtnl_held
251 tcf_proto_lookup_ops(const char *kind, bool rtnl_held, in tcf_proto_lookup_ops() argument
260 if (rtnl_held) in tcf_proto_lookup_ops()
263 if (rtnl_held) in tcf_proto_lookup_ops()
376 bool rtnl_held, in tcf_proto_create() argument
386 tp->ops = tcf_proto_lookup_ops(kind, rtnl_held, extack); in tcf_proto_create()
417 static void tcf_proto_destroy(struct tcf_proto *tp, bool rtnl_held, in tcf_proto_destroy() argument
420 tp->ops->destroy(tp, rtnl_held, extack); in tcf_proto_destroy()
428 static void tcf_proto_put(struct tcf_proto *tp, bool rtnl_held, in tcf_proto_put() argument
432 tcf_proto_destroy(tp, rtnl_held, true, extack); in tcf_proto_put()
720 static void tcf_chain_flush(struct tcf_chain *chain, bool rtnl_held) in tcf_chain_flush() argument
739 tcf_proto_put(tp, rtnl_held, NULL); in tcf_chain_flush()
1130 static void tcf_block_flush_all_chains(struct tcf_block *block, bool rtnl_held) in tcf_block_flush_all_chains() argument
1141 tcf_chain_flush(chain, rtnl_held); in tcf_block_flush_all_chains()
1150 u32 *parent, int ifindex, bool rtnl_held, in __tcf_qdisc_find() argument
1215 if (rtnl_held) in __tcf_qdisc_find()
1282 struct tcf_block_ext_info *ei, bool rtnl_held) in __tcf_block_put() argument
1303 tcf_block_flush_all_chains(block, rtnl_held); in __tcf_block_put()
1309 static void tcf_block_refcnt_put(struct tcf_block *block, bool rtnl_held) in tcf_block_refcnt_put() argument
1311 __tcf_block_put(block, NULL, NULL, rtnl_held); in tcf_block_refcnt_put()
1353 bool rtnl_held) in tcf_block_release() argument
1356 tcf_block_refcnt_put(block, rtnl_held); in tcf_block_release()
1359 if (rtnl_held) in tcf_block_release()
1858 bool rtnl_held) in tcf_chain_tp_insert_unique() argument
1868 tcf_proto_destroy(tp_new, rtnl_held, false, NULL); in tcf_chain_tp_insert_unique()
1879 tcf_proto_destroy(tp_new, rtnl_held, false, NULL); in tcf_chain_tp_insert_unique()
1882 tcf_proto_destroy(tp_new, rtnl_held, false, NULL); in tcf_chain_tp_insert_unique()
1890 struct tcf_proto *tp, bool rtnl_held, in tcf_chain_tp_delete_empty() argument
1927 tcf_proto_put(tp, rtnl_held, extack); in tcf_chain_tp_delete_empty()
1967 bool terse_dump, bool rtnl_held, in tcf_fill_node() argument
1998 rtnl_held) < 0) in tcf_fill_node()
2005 tp->ops->dump(net, tp, fh, skb, tcm, rtnl_held) < 0) in tcf_fill_node()
2028 bool rtnl_held, struct netlink_ext_ack *extack) in tfilter_notify() argument
2040 false, rtnl_held, extack) <= 0) { in tfilter_notify()
2057 bool rtnl_held, struct netlink_ext_ack *extack) in tfilter_del_notify() argument
2069 false, rtnl_held, extack) <= 0) { in tfilter_del_notify()
2075 err = tp->ops->delete(tp, fh, last, rtnl_held, extack); in tfilter_del_notify()
2138 bool rtnl_held = false; in tc_new_tfilter() local
2190 if (rtnl_held || in tc_new_tfilter()
2193 rtnl_held = true; in tc_new_tfilter()
2259 rtnl_held, extack); in tc_new_tfilter()
2267 rtnl_held); in tc_new_tfilter()
2306 if (!rtnl_held) in tc_new_tfilter()
2314 RTM_NEWTFILTER, false, rtnl_held, extack); in tc_new_tfilter()
2323 tcf_chain_tp_delete_empty(chain, tp, rtnl_held, NULL); in tc_new_tfilter()
2327 tcf_proto_put(tp, rtnl_held, NULL); in tc_new_tfilter()
2331 tcf_block_release(q, block, rtnl_held); in tc_new_tfilter()
2333 if (rtnl_held) in tc_new_tfilter()
2340 rtnl_held = true; in tc_new_tfilter()
2370 bool rtnl_held = false; in tc_del_tfilter() local
2405 rtnl_held = true; in tc_del_tfilter()
2443 tcf_chain_flush(chain, rtnl_held); in tc_del_tfilter()
2464 tcf_proto_put(tp, rtnl_held, NULL); in tc_del_tfilter()
2466 RTM_DELTFILTER, false, rtnl_held, extack); in tc_del_tfilter()
2482 rtnl_held, extack); in tc_del_tfilter()
2487 tcf_chain_tp_delete_empty(chain, tp, rtnl_held, extack); in tc_del_tfilter()
2493 tcf_proto_put(tp, rtnl_held, NULL); in tc_del_tfilter()
2496 tcf_block_release(q, block, rtnl_held); in tc_del_tfilter()
2498 if (rtnl_held) in tc_del_tfilter()
2527 bool rtnl_held = false; in tc_get_tfilter() local
2561 rtnl_held = true; in tc_get_tfilter()
2610 fh, RTM_NEWTFILTER, true, rtnl_held, NULL); in tc_get_tfilter()
2619 tcf_proto_put(tp, rtnl_held, NULL); in tc_get_tfilter()
2622 tcf_block_release(q, block, rtnl_held); in tc_get_tfilter()
2624 if (rtnl_held) in tc_get_tfilter()
3487 void *type_data, bool err_stop, bool rtnl_held) in tc_setup_cb_call() argument
3489 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_call()
3500 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_call()
3523 u32 *flags, unsigned int *in_hw_count, bool rtnl_held) in tc_setup_cb_add() argument
3525 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_add()
3536 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_add()
3575 bool rtnl_held) in tc_setup_cb_replace() argument
3577 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_replace()
3588 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_replace()
3627 u32 *flags, unsigned int *in_hw_count, bool rtnl_held) in tc_setup_cb_destroy() argument
3629 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_destroy()
3640 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_destroy()