Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

net/netfilter/nfnetlink_queue.c instance_create() -> instance_hashfn()

Type Parameter Key Value
DATA_SOURCE 0 queue_num $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 queue_num 0-u16max
LOCK2 &q->instances_lock
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
TYPE_LOCK (struct nfnl_queue_net)->instances_lock

net/netfilter/nfnetlink_queue.c instance_lookup() -> instance_hashfn()

Type Parameter Key Value
DATA_SOURCE 0 queue_num $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 queue_num 0-u16max
HALF_LOCKED2 &q->instances_lock
HALF_LOCKED2 rcu_read

net/netfilter/nfnetlink_log.c __instance_lookup() -> instance_hashfn()

Type Parameter Key Value
DATA_SOURCE 0 queue_num $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 queue_num 0-u16max
HALF_LOCKED2 &log->instances_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/netfilter/nfnetlink_log.c instance_create() -> instance_hashfn()

Type Parameter Key Value
DATA_SOURCE 0 queue_num $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 queue_num 0-u16max
LOCK2 &log->instances_lock
LOCK2 bh
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
TYPE_LOCK (struct nfnl_log_net)->instances_lock