Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
CAPPED_DATA 0 sess->id 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_slowpath
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

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

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->state s32min-1,3-s32max
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
HALF_LOCKED2 &pool->lock

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

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 2212933610777083904
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->chann_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->chann_lock.wait_lock.owner (-1)
PARAM_VALUE 0 sess->chann_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 sess->tree_conns_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->tree_conns_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->tree_conns_lock.wait_lock.owner (-1)
PARAM_VALUE 0 sess->tree_conns_lock.wait_lock.owner_cpu u32max
BUF_SIZE 0 sess s32min-(-2),1-s32max
BUF_SIZE 0 sess s32min-(-2),1-s32max
CAPPED_DATA 0 &sess->chann_lock 1
CAPPED_DATA 0 &sess->tree_conns_lock 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sess unit_array_size
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

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

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 0-1
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->chann_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->ksmbd_chann_list.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sess->proc_entry->parent->nlink 0-4294967295
PARAM_VALUE 0 sess->rpc_handle_list.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sess->rpc_lock.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->list.next 2624917664208203776
PARAM_VALUE 0 sess->rpc_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->tree_conns.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sess->tree_conns_lock.dep_map->name 0-255
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 sess->user 4096-ptr_max
CAPPED_DATA 0 &sess->chann_lock 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &chan->conn->session_lock
LOCK2 &m->lock
LOCK2 global &sessions_table_lock
LOCK2 0 &sess->chann_lock
TYPE_LOCK (struct ksmbd_conn)->session_lock
TYPE_LOCK (struct ksmbd_session)->chann_lock
TYPE_LOCK (struct seq_file)->lock

fs/smb/server/auth.c ksmbd_get_encryption_key() -> ksmbd_user_session_put()

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->state 2
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
CAPPED_DATA 0 sess 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_all
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/smb/server/smb2pdu.c check_session_id() -> ksmbd_user_session_put()

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->state 2
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
CAPPED_DATA 0 sess 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_all
NOCHECK_CALL
LOCK2 &pool->lock

fs/smb/server/smb2pdu.c smb2_sess_setup() -> ksmbd_user_session_put()

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->dialect 768-u16max
PARAM_VALUE 0 sess->state s32min-(-1),2-s32max
CAPPED_DATA 0 sess->dialect 1
CAPPED_DATA 0 sess->id 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_slowpath
NOCHECK_CALL
LOCK2 &conn->srv_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/server/smb2pdu.c smb2_sess_setup() -> ksmbd_user_session_put()

Type Parameter Key Value
PARAM_VALUE 0 sess 4096-ptr_max
CAPPED_DATA 0 sess->id 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_slowpath
NOCHECK_CALL
LOCK2 &conn->srv_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/server/smb2pdu.c smb2_sess_setup() -> ksmbd_user_session_put()

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 2212933610777083904
PARAM_VALUE 0 sess->chann_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 sess->chann_lock.first_waiter->type 0-1
CAPPED_DATA 0 sess->id 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_slowpath
NOCHECK_CALL
LOCK2 &conn->srv_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/server/smb2pdu.c smb2_sess_setup() -> ksmbd_user_session_put()

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->state s32min-(-1),1-s32max
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->srv_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/server/smb2pdu.c smb3_decrypt_req() -> ksmbd_user_session_put()

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->state 2
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
CAPPED_DATA 0 sess 1
DATA_SOURCE 0 sess r ksmbd_session_lookup_all
NOCHECK_CALL
HALF_LOCKED2 &pool->lock