Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/smb/server/mgmt/user_session.c __session_create() -> ksmbd_session_destroy()

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
PARAM_VALUE 0 sess->file_table.idr 0,4096-ptr_max
PARAM_VALUE 0 sess->file_table.idr->idr_base 0
PARAM_VALUE 0 sess->file_table.idr->idr_next 0
PARAM_VALUE 0 sess->file_table.idr->idr_rt.xa_flags 33554436
PARAM_VALUE 0 sess->file_table.idr->idr_rt.xa_head 0
PARAM_VALUE 0 sess->tree_conn_ida.xa.xa_flags 33554437
PARAM_VALUE 0 sess->tree_conn_ida.xa.xa_head 0
BUF_SIZE 0 sess 1136
DATA_SOURCE 0 sess r _kzalloc_noprof
NOCHECK_CALL
LOCK2 &conn->srv_mutex
LOCK2 &pool->lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/server/mgmt/user_session.c ksmbd_expire_session() -> ksmbd_session_destroy()

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
PARAM_VALUE 0 sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->hlist->next->pprev 1-u64max
PARAM_VALUE 0 sess->hlist.next 0
PARAM_VALUE 0 sess->hlist.next->pprev 1-u64max
PARAM_VALUE 0 sess->hlist.pprev 0
PARAM_VALUE 0 sess->refcnt.counter s32min-1
PARAM_VALUE 0 sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->type 0-1
NOCHECK_CALL
LOCK2 &conn->session_lock
LOCK2 &conn->srv_mutex
LOCK2 &pool->lock
LOCK2 global &sessions_table_lock
TYPE_LOCK (struct ksmbd_conn)->session_lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/server/mgmt/user_session.c ksmbd_sessions_deregister() -> ksmbd_session_destroy()

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
PARAM_VALUE 0 sess->chann_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->chann_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->chann_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 sess->hlist->next->pprev 1-u64max
PARAM_VALUE 0 sess->hlist.next 0
PARAM_VALUE 0 sess->hlist.next->pprev 1-u64max
PARAM_VALUE 0 sess->hlist.pprev 0
PARAM_VALUE 0 sess->ksmbd_chann_list.xa_head 0
PARAM_VALUE 0 sess->ksmbd_chann_list.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->type 0-1
NOCHECK_CALL
LOCK2 global &sessions_table_lock

fs/smb/server/mgmt/user_session.c ksmbd_sessions_deregister() -> ksmbd_session_destroy()

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
PARAM_VALUE 0 sess->chann_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->chann_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->chann_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 sess->hlist->next->pprev 1-u64max
PARAM_VALUE 0 sess->hlist.next 0
PARAM_VALUE 0 sess->hlist.next->pprev 1-u64max
PARAM_VALUE 0 sess->hlist.pprev 0
PARAM_VALUE 0 sess->ksmbd_chann_list.xa_head 0
PARAM_VALUE 0 sess->ksmbd_chann_list.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->type 0-1
NOCHECK_CALL
LOCK2 &conn->session_lock
LOCK2 global &sessions_table_lock
TYPE_LOCK (struct ksmbd_conn)->session_lock

fs/smb/server/mgmt/user_session.c ksmbd_user_session_put() -> ksmbd_session_destroy()

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
PARAM_VALUE 0 sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->type 0-1
BUF_SIZE 0 sess s32min-(-1),1-s32max
BUF_SIZE 0 sess s32min-(-1),1-s32max
CAPPED_DATA 0 sess 1
DATA_SOURCE 0 sess $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sess unit_array_size
HALF_LOCKED2 &chan->conn->session_lock
HALF_LOCKED2 &conn->srv_mutex
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &sessions_table_lock
HALF_LOCKED2 0 &sess->chann_lock