Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

net/netfilter/nft_chain_filter.c nft_netdev_event() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 1 reg 4096-ptr_max
PARAM_VALUE 1 reg->dev 4096-ptr_max
CAPPED_DATA 1 reg->dev 1
DATA_SOURCE 1 reg r nft_hook_find_ops
NOCHECK_CALL
LOCK2 &nft_net->commit_mutex
TYPE_LOCK (struct nftables_pernet)->commit_mutex

net/netfilter/nf_bpf_link.c bpf_nf_link_release() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 1 reg 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/netfilter/core.c nf_unregister_net_hooks() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 1 reg 4096-ptr_max
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net->key_domain (-1),24
BUF_SIZE 0 net->ucounts (-1),184
DATA_SOURCE 0 net $0
STR_LEN 0 net (-1),3,6,8
STR_LEN 0 net (-1),3,6,8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 global &defrag4_mutex
HALF_LOCKED2 global &defrag6_mutex
HALF_LOCKED2 global &nf_ct_proto_mutex
HALF_LOCKED2 global &nf_nat_proto_mutex
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &synproxy_mutex

net/netfilter/nf_tables_api.c __nf_tables_unregister_hook() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 1 reg 4096-ptr_max
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 &nft_net->commit_mutex

net/netfilter/nf_tables_api.c nf_tables_updchain() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 &nft_net->commit_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/netfilter/nf_tables_api.c nft_netdev_register_hooks() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 &nft_net->commit_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/netfilter/nf_tables_api.c nft_netdev_unregister_hooks() -> nf_unregister_net_hook()

Type Parameter Key Value
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 &nft_net->commit_mutex

net/netfilter/nf_tables_api.c nft_netdev_unregister_trans_hook() -> nf_unregister_net_hook()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->gen 4096-ptr_max
PARAM_VALUE 0 net->nft.base_seq 1-u32max
PARAM_VALUE 0 net->nft.gencursor 0-1
CAPPED_DATA 0 net->gen 1
DATA_SOURCE 0 net $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nft_net->commit_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/netfilter/nf_tables_api.c nft_unregister_flowtable_ops() -> nf_unregister_net_hook()

Type Parameter Key Value
DATA_SOURCE 0 net $0
DATA_SOURCE 1 reg $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 net unit_byte
HALF_LOCKED2 &nft_net->commit_mutex