Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/core/sock_map.c __sock_map_delete() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 0 sk 1-u64max
PARAM_VALUE 1 link_raw 4096-ptr_max
DATA_SOURCE 1 link_raw $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &stab->lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct bpf_stab)->lock

net/core/sock_map.c sock_hash_delete_elem() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 1 link_raw 4096-ptr_max
DATA_SOURCE 1 link_raw r sock_hash_lookup_elem_raw
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 sk unit_byte
LOCK2 &bucket->lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct bpf_shtab_bucket)->lock

net/core/sock_map.c sock_hash_delete_from_link() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 1 link_raw 4096-ptr_max
DATA_SOURCE 1 link_raw $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sk unit_byte
LOCK2 &bucket->lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &sk->__sk_common.skc_net.net->ipv4.ra_mutex
HALF_LOCKED2 &sk->__sk_common.skc_net.net->mctp.keys_lock
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk
TYPE_LOCK (struct bpf_shtab_bucket)->lock

net/core/sock_map.c sock_hash_free() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.owned 1
PARAM_VALUE 0 sk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 link_raw 4096-ptr_max
NOCHECK_CALL
UNITS 0 sk unit_byte
LOCK2 rcu_read
LOCK2 0 sk

net/core/sock_map.c sock_hash_update_common() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 1 link_raw 4096-ptr_max
DATA_SOURCE 1 link_raw r sock_hash_lookup_elem_raw
PREEMPT_ADD
NOCHECK_CALL
UNITS 0 sk unit_byte
LOCK2 &bucket->lock
LOCK2 bh
HALF_LOCKED2 &sk->sk_lock.slock
TYPE_LOCK (struct bpf_shtab_bucket)->lock

net/core/sock_map.c sock_map_free() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.owned 1
PARAM_VALUE 0 sk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 link_raw 4096-ptr_max
NOCHECK_CALL
LOCK2 rcu_read
LOCK2 0 sk

net/core/sock_map.c sock_map_update_common() -> sock_map_unref()

Type Parameter Key Value
PARAM_VALUE 0 sk 1-u64max
PARAM_VALUE 1 link_raw 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &stab->lock
LOCK2 bh
HALF_LOCKED2 &sk->sk_lock.slock
TYPE_LOCK (struct bpf_stab)->lock