Lines Matching refs:rtnl_held

128 tcf_proto_lookup_ops(const char *kind, bool rtnl_held,  in tcf_proto_lookup_ops()  argument
137 if (rtnl_held) in tcf_proto_lookup_ops()
140 if (rtnl_held) in tcf_proto_lookup_ops()
252 bool rtnl_held, in tcf_proto_create() argument
262 tp->ops = tcf_proto_lookup_ops(kind, rtnl_held, extack); in tcf_proto_create()
293 static void tcf_proto_destroy(struct tcf_proto *tp, bool rtnl_held, in tcf_proto_destroy() argument
296 tp->ops->destroy(tp, rtnl_held, extack); in tcf_proto_destroy()
304 static void tcf_proto_put(struct tcf_proto *tp, bool rtnl_held, in tcf_proto_put() argument
308 tcf_proto_destroy(tp, rtnl_held, true, extack); in tcf_proto_put()
321 static bool tcf_proto_is_empty(struct tcf_proto *tp, bool rtnl_held) in tcf_proto_is_empty() argument
326 tp->ops->walk(tp, &walker, rtnl_held); in tcf_proto_is_empty()
332 static bool tcf_proto_check_delete(struct tcf_proto *tp, bool rtnl_held) in tcf_proto_check_delete() argument
335 if (tcf_proto_is_empty(tp, rtnl_held)) in tcf_proto_check_delete()
602 static void tcf_chain_flush(struct tcf_chain *chain, bool rtnl_held) in tcf_chain_flush() argument
621 tcf_proto_put(tp, rtnl_held, NULL); in tcf_chain_flush()
1037 bool rtnl_held) in tcf_get_next_proto() argument
1042 tcf_proto_put(tp, rtnl_held, NULL); in tcf_get_next_proto()
1048 static void tcf_block_flush_all_chains(struct tcf_block *block, bool rtnl_held) in tcf_block_flush_all_chains() argument
1059 tcf_chain_flush(chain, rtnl_held); in tcf_block_flush_all_chains()
1068 u32 *parent, int ifindex, bool rtnl_held, in __tcf_qdisc_find() argument
1133 if (rtnl_held) in __tcf_qdisc_find()
1200 struct tcf_block_ext_info *ei, bool rtnl_held) in __tcf_block_put() argument
1221 tcf_block_flush_all_chains(block, rtnl_held); in __tcf_block_put()
1227 static void tcf_block_refcnt_put(struct tcf_block *block, bool rtnl_held) in tcf_block_refcnt_put() argument
1229 __tcf_block_put(block, NULL, NULL, rtnl_held); in tcf_block_refcnt_put()
1271 bool rtnl_held) in tcf_block_release() argument
1274 tcf_block_refcnt_put(block, rtnl_held); in tcf_block_release()
1277 if (rtnl_held) in tcf_block_release()
1683 bool rtnl_held) in tcf_chain_tp_insert_unique() argument
1693 tcf_proto_destroy(tp_new, rtnl_held, false, NULL); in tcf_chain_tp_insert_unique()
1704 tcf_proto_destroy(tp_new, rtnl_held, false, NULL); in tcf_chain_tp_insert_unique()
1707 tcf_proto_destroy(tp_new, rtnl_held, false, NULL); in tcf_chain_tp_insert_unique()
1715 struct tcf_proto *tp, bool rtnl_held, in tcf_chain_tp_delete_empty() argument
1740 if (!tp_iter || !tcf_proto_check_delete(tp, rtnl_held)) { in tcf_chain_tp_delete_empty()
1752 tcf_proto_put(tp, rtnl_held, extack); in tcf_chain_tp_delete_empty()
1792 bool rtnl_held) in tcf_fill_node() argument
1821 tp->ops->dump(net, tp, fh, skb, tcm, rtnl_held) < 0) in tcf_fill_node()
1837 bool rtnl_held) in tfilter_notify() argument
1849 rtnl_held) <= 0) { in tfilter_notify()
1869 bool rtnl_held, struct netlink_ext_ack *extack) in tfilter_del_notify() argument
1881 rtnl_held) <= 0) { in tfilter_del_notify()
1887 err = tp->ops->delete(tp, fh, last, rtnl_held, extack); in tfilter_del_notify()
1910 bool rtnl_held) in tfilter_notify_chain() argument
1914 for (tp = tcf_get_next_proto(chain, NULL, rtnl_held); in tfilter_notify_chain()
1915 tp; tp = tcf_get_next_proto(chain, tp, rtnl_held)) in tfilter_notify_chain()
1917 q, parent, NULL, event, false, rtnl_held); in tfilter_notify_chain()
1947 bool rtnl_held = false; in tc_new_tfilter() local
1998 if (rtnl_held || in tc_new_tfilter()
2001 rtnl_held = true; in tc_new_tfilter()
2066 protocol, prio, chain, rtnl_held, in tc_new_tfilter()
2075 rtnl_held); in tc_new_tfilter()
2113 rtnl_held, extack); in tc_new_tfilter()
2116 RTM_NEWTFILTER, false, rtnl_held); in tc_new_tfilter()
2125 tcf_chain_tp_delete_empty(chain, tp, rtnl_held, NULL); in tc_new_tfilter()
2129 tcf_proto_put(tp, rtnl_held, NULL); in tc_new_tfilter()
2133 tcf_block_release(q, block, rtnl_held); in tc_new_tfilter()
2135 if (rtnl_held) in tc_new_tfilter()
2142 rtnl_held = true; in tc_new_tfilter()
2172 bool rtnl_held = false; in tc_del_tfilter() local
2210 rtnl_held = true; in tc_del_tfilter()
2247 chain, RTM_DELTFILTER, rtnl_held); in tc_del_tfilter()
2248 tcf_chain_flush(chain, rtnl_held); in tc_del_tfilter()
2269 tcf_proto_put(tp, rtnl_held, NULL); in tc_del_tfilter()
2271 RTM_DELTFILTER, false, rtnl_held); in tc_del_tfilter()
2287 rtnl_held, extack); in tc_del_tfilter()
2292 tcf_chain_tp_delete_empty(chain, tp, rtnl_held, extack); in tc_del_tfilter()
2298 tcf_proto_put(tp, rtnl_held, NULL); in tc_del_tfilter()
2301 tcf_block_release(q, block, rtnl_held); in tc_del_tfilter()
2303 if (rtnl_held) in tc_del_tfilter()
2332 bool rtnl_held = false; in tc_get_tfilter() local
2366 rtnl_held = true; in tc_get_tfilter()
2415 fh, RTM_NEWTFILTER, true, rtnl_held); in tc_get_tfilter()
2424 tcf_proto_put(tp, rtnl_held, NULL); in tc_get_tfilter()
2427 tcf_block_release(q, block, rtnl_held); in tc_get_tfilter()
2429 if (rtnl_held) in tc_get_tfilter()
3013 bool rtnl_held, struct netlink_ext_ack *extack) in tcf_exts_validate() argument
3023 TCA_ACT_BIND, rtnl_held, in tcf_exts_validate()
3037 rtnl_held, extack); in tcf_exts_validate()
3196 void *type_data, bool err_stop, bool rtnl_held) in tc_setup_cb_call() argument
3198 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_call()
3209 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_call()
3232 u32 *flags, unsigned int *in_hw_count, bool rtnl_held) in tc_setup_cb_add() argument
3234 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_add()
3245 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_add()
3284 bool rtnl_held) in tc_setup_cb_replace() argument
3286 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_replace()
3297 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_replace()
3336 u32 *flags, unsigned int *in_hw_count, bool rtnl_held) in tc_setup_cb_destroy() argument
3338 bool take_rtnl = READ_ONCE(block->lockeddevcnt) && !rtnl_held; in tc_setup_cb_destroy()
3349 if (!rtnl_held && !take_rtnl && block->lockeddevcnt) { in tc_setup_cb_destroy()
3438 const struct tcf_exts *exts, bool rtnl_held) in tc_setup_flow_action() argument
3446 if (!rtnl_held) in tc_setup_flow_action()
3580 if (!rtnl_held) in tc_setup_flow_action()