Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/packet/af_packet.c __register_prot_hook() -> __fanout_link()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 1 po 4096-ptr_max
PARAM_VALUE 1 po->fanout 1-u64max
BUF_SIZE 0 sk->__sk_common.skc_net.net (-1),1-s32max
BUF_SIZE 0 sk->sk_prot_creator (-1),448
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
HALF_LOCKED2 &po->bind_lock
HALF_LOCKED2 0 sk

net/packet/af_packet.c fanout_add() -> __fanout_link()

Type Parameter Key Value
PARAM_VALUE 1 po 4096-ptr_max
PARAM_VALUE 1 po->bind_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 po->fanout 4096-ptr_max
PARAM_VALUE 1 po->fanout->bpf_prog 0
PARAM_VALUE 1 po->fanout->list.next 4096-ptr_max
PARAM_VALUE 1 po->fanout->list.prev 4096-ptr_max
PARAM_VALUE 1 po->fanout->max_num_members 1-u32max
PARAM_VALUE 1 po->fanout->prot_hook.af_packet_priv 4096-ptr_max
PARAM_VALUE 1 po->fanout->prot_hook.func 1919869813264822272
PARAM_VALUE 1 po->fanout->prot_hook.id_match 5501839676405559296
PARAM_VALUE 1 po->fanout->rr_cur.counter 0
PARAM_VALUE 1 po->fanout->sk_ref.refs.counter 0
PARAM_VALUE 1 po->fanout->type 0-7
PARAM_VALUE 1 po->num 1-u16max
PARAM_VALUE 1 po->rollover 0,4096-ptr_max
BUF_SIZE 1 po->fanout 264-524544,u64max
BUF_SIZE 1 po->rollover 0,128
CAPPED_DATA 1 po->fanout->prot_hook.type 1
CAPPED_DATA 1 po->fanout->type 1
CAPPED_DATA 1 po->prot_hook.dev 1
CAPPED_DATA 1 po->prot_hook.type 1
CAPPED_DATA 1 &po->prot_hook 1
DATA_SOURCE 0 sk $0
NOSPEC 1 po->fanout->type
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 po->fanout->flags 0-255
USER_DATA 1 po->fanout->id 0-u16max
USER_DATA 1 po->fanout->max_num_members 1-65536[c]
USER_DATA 1 po->fanout->prot_hook.ignore_outgoing 0-1[c]
USER_DATA 1 po->fanout->type 0-2,4-7[c]
UNITS 0 sk unit_byte
LOCK2 global &fanout_mutex
LOCK2 1 &po->bind_lock
TYPE_LOCK (struct packet_sock)->bind_lock