Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 sk 4096-ptr_max
DATA_SOURCE 0 net $0
DATA_SOURCE 4 dif $5
DATA_SOURCE 5 sdif $6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 ports 0-u32max[c]
UNITS 0 net unit_byte
UNITS 4 dif unit_array_size
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ipv4/inet_hashtables.c __inet_check_established() -> inet_match()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 sk 4096-ptr_max
CAPPED_DATA 0 net 1
CAPPED_DATA 1 sk->__sk_common.skc_hash 1
CAPPED_DATA 4 dif 1
DATA_SOURCE 5 sdif r l3mdev_master_ifindex_by_index
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 4 dif unit_array_size
LOCK2 rcu_read
HALF_LOCKED2 global &once_mutex
HALF_LOCKED2 sk

net/ipv4/inet_hashtables.c __inet_check_established() -> inet_match()

Type Parameter Key Value
PARAM_VALUE 1 sk 4096-ptr_max
CAPPED_DATA 1 sk->__sk_common.skc_hash 1
CAPPED_DATA 4 dif 1
DATA_SOURCE 5 sdif r l3mdev_master_ifindex_by_index
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 4 dif unit_array_size
LOCK2 bh
LOCK2 lock
HALF_LOCKED2 &head->lock
HALF_LOCKED2 sk

net/ipv4/inet_hashtables.c __inet_lookup_established() -> inet_match()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 sk 4096-ptr_max
CAPPED_DATA 0 net 1
CAPPED_DATA 1 sk->__sk_common.skc_hash 1
DATA_SOURCE 0 net $0
DATA_SOURCE 4 dif $5
DATA_SOURCE 5 sdif $6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 cookie 0-u64max[c]
USER_DATA 3 ports 0-u32max[c]
USER_DATA 4 dif s32min-s32max
UNITS 0 net unit_byte
UNITS 4 dif unit_array_size
UNITS 5 sdif unit_array_size
HALF_LOCKED2 rcu_read

net/ipv4/inet_hashtables.c __inet_lookup_established() -> inet_match()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 sk 4096-ptr_max
CAPPED_DATA 0 net 1
CAPPED_DATA 1 sk->__sk_common.skc_addrpair 1
CAPPED_DATA 1 sk->__sk_common.skc_hash 1
CAPPED_DATA 1 sk->__sk_common.skc_net.net 1
CAPPED_DATA 2 cookie 1
CAPPED_DATA 2 cookie 1
CAPPED_DATA 3 ports 1
DATA_SOURCE 0 net $0
DATA_SOURCE 4 dif $5
DATA_SOURCE 5 sdif $6
PARAM_COMPARE 2 cookie == $1->__sk_common.skc_addrpair
PARAM_COMPARE 2 cookie == $1->__sk_common.skc_addrpair
PARAM_COMPARE 3 ports == $1->__sk_common.skc_portpair
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 cookie 0-u64max[c]
USER_DATA 3 ports 0-u32max[c]
USER_DATA 4 dif s32min-s32max
UNITS 0 net unit_byte
UNITS 4 dif unit_array_size
UNITS 5 sdif unit_array_size
HALF_LOCKED2 rcu_read

net/ipv4/inet_hashtables.c inet_ehash_lookup_by_sk() -> inet_match()

Type Parameter Key Value
PARAM_VALUE 1 sk 4096-ptr_max
BUF_SIZE 0 net (-1),1-s32max
BUF_SIZE 0 net (-1),1-s32max
CAPPED_DATA 1 sk->__sk_common.skc_hash 1
PARAM_COMPARE 4 dif == $5
PARAM_COMPARE 5 sdif == $4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
UNITS 4 dif unit_array_size
UNITS 5 sdif unit_array_size
LOCK2 lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
HALF_LOCKED2 sk