Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/netfilter/nf_tables_api.c __nft_netdev_hook_free_rcu() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

net/netfilter/nf_tables_api.c nf_tables_parse_netdev_hooks() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.next 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.next->next 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.prev 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.prev->next 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.prev->prev 4096-ptr_max
BUF_SIZE 0 hook 72
CAPPED_DATA 0 hook->ifnamelen 1
DATA_SOURCE 0 hook r nft_netdev_hook_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 *hook->ifname 0-255
USER_PTR 0 hook->ifname
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 nf_tables_parse_netdev_hooks() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 *hook->ifname 0-255
USER_PTR 0 hook->ifname
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 nf_tables_updchain() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
CAPPED_DATA 0 hook->ifnamelen 1
CAPPED_DATA 0 &hook->ops_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_chain_release_hook() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
CAPPED_DATA 0 &hook->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_flowtable_hook_release() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
CAPPED_DATA 0 &hook->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_flowtable_update() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
CAPPED_DATA 0 hook->ifnamelen 1
CAPPED_DATA 0 &hook->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_hook_alloc() -> nft_netdev_hook_free()

Type Parameter Key Value
PARAM_VALUE 0 hook 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.next 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.next->next 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.prev 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.prev->next 4096-ptr_max
PARAM_VALUE 0 hook->ops_list.prev->prev 4096-ptr_max
BUF_SIZE 0 hook 72
DATA_SOURCE 0 hook r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 *hook->ifname 0-255
USER_PTR 0 hook->ifname
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