Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/ipv6/udp.c __udp6_lib_demux_lookup() -> udp_hashslot2()

Type Parameter Key Value
DATA_SOURCE 1 hash r ipv6_portaddr_hash
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max[c]
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv6/udp.c __udp6_lib_lookup() -> udp_hashslot2()

Type Parameter Key Value
DATA_SOURCE 1 hash r ipv6_portaddr_hash
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max[c]
HALF_LOCKED2 rcu_read

net/ipv6/udp.c __udp6_lib_lookup() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 1 hash r ipv6_portaddr_hash
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max[c]
HALF_LOCKED2 rcu_read

net/ipv4/udp.c __udp4_lib_demux_lookup() -> udp_hashslot2()

Type Parameter Key Value
DATA_SOURCE 1 hash r ipv4_portaddr_hash
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max[c]
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv4/udp.c __udp4_lib_lookup() -> udp_hashslot2()

Type Parameter Key Value
DATA_SOURCE 1 hash r ipv4_portaddr_hash
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max
HALF_LOCKED2 rcu_read

net/ipv4/udp.c __udp4_lib_lookup() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 1 hash r ipv4_portaddr_hash
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max[c]
HALF_LOCKED2 rcu_read

net/ipv4/udp.c udp_lib_get_port() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 hash 0-u16max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hslot->lock
LOCK2 bh
HALF_LOCKED2 global &port_mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct udp_hslot)->lock

net/ipv4/udp.c udp_lib_get_port() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 1 hash $2 [m]
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 hash 0-u32max[c]
LOCK2 &hslot->lock
LOCK2 bh
HALF_LOCKED2 global &port_mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct udp_hslot)->lock

net/ipv4/udp.c udp_lib_get_port() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 hash 0-u16max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hslot->lock
LOCK2 bh
HALF_LOCKED2 global &port_mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct udp_hslot)->lock

net/ipv4/udp.c udp_lib_rehash() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 hash 0-u16max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/udp.c udp_lib_rehash() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
DATA_SOURCE 1 hash $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/ipv4/udp.c udp_lib_unhash() -> udp_hashslot2()

Type Parameter Key Value
PARAM_VALUE 0 table 4096-ptr_max
PARAM_VALUE 1 hash 0-u16max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 lsk
HALF_LOCKED2 sk