Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/tipc/subscr.c tipc_sub_unsubscribe() -> tipc_sub_put()

Type Parameter Key Value
PARAM_VALUE 0 subscription 4096-ptr_max
PARAM_VALUE 0 subscription->net 4096-ptr_max
PARAM_VALUE 0 subscription->net->gen 4096-ptr_max
PARAM_VALUE 0 subscription->service_list.next->prev 4096-ptr_max
PARAM_VALUE 0 subscription->service_list.prev->next 4096-ptr_max
CAPPED_DATA 0 subscription->net->gen 1
DATA_SOURCE 0 subscription $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &con->sub_lock
LOCK2 bh
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct tipc_conn)->sub_lock

net/tipc/name_table.c tipc_nametbl_unsubscribe() -> tipc_sub_put()

Type Parameter Key Value
PARAM_VALUE 0 subscription 4096-ptr_max
PARAM_VALUE 0 subscription->net 4096-ptr_max
PARAM_VALUE 0 subscription->net->gen 4096-ptr_max
PARAM_VALUE 0 subscription->service_list.next->prev 4096-ptr_max
PARAM_VALUE 0 subscription->service_list.prev->next 4096-ptr_max
CAPPED_DATA 0 subscription->net->gen 1
DATA_SOURCE 0 subscription $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &con->sub_lock
LOCK2 &sc->lock
LOCK2 &tn->nametbl_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 sk
TYPE_LOCK (struct tipc_conn)->sub_lock
TYPE_LOCK (struct tipc_net)->nametbl_lock
TYPE_LOCK (struct tipc_service)->lock