Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/ipv4/inet_connection_sock.c inet_csk_get_port() -> inet_bind2_bucket_destroy()

Type Parameter Key Value
PARAM_VALUE 0 cachep 4096-ptr_max
PARAM_VALUE 0 cachep->object_size 0-4294967295
PARAM_VALUE 1 tb 4096-ptr_max
PARAM_VALUE 1 tb->bhash_node->pprev 4096-ptr_max
PARAM_VALUE 1 tb->node->pprev 4096-ptr_max
CAPPED_DATA 0 cachep 1
CAPPED_DATA 1 tb 1
DATA_SOURCE 1 tb r inet_bind2_bucket_create
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 tb->port 1-u16max[c]
LOCK2 &head->lock
LOCK2 &head2->lock
LOCK2 bh
HALF_LOCKED2 global &port_mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct inet_bind_hashbucket)->lock

net/ipv4/inet_hashtables.c __inet_bhash2_update_saddr() -> inet_bind2_bucket_destroy()

Type Parameter Key Value
PARAM_VALUE 0 cachep 4096-ptr_max
PARAM_VALUE 0 cachep->object_size 0-4294967295
CAPPED_DATA 0 cachep 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &head->lock
LOCK2 &head2->lock
LOCK2 bh
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk
TYPE_LOCK (struct inet_bind_hashbucket)->lock

net/ipv4/inet_hashtables.c __inet_put_port() -> inet_bind2_bucket_destroy()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &head->lock
LOCK2 &head2->lock
LOCK2 bh
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 inet_bind_hashbucket)->lock

net/ipv4/inet_timewait_sock.c inet_twsk_bind_unhash() -> inet_bind2_bucket_destroy()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bhead->lock
HALF_LOCKED2 &bhead2->lock
HALF_LOCKED2 &head->lock
HALF_LOCKED2 &head2->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct inet_bind_hashbucket)->lock