Lines Matching refs:sess

64 	struct ksmbd_session *sess;  in check_session_id()  local
69 sess = ksmbd_session_lookup_all(conn, id); in check_session_id()
70 if (sess) in check_session_id()
76 struct channel *lookup_chann_list(struct ksmbd_session *sess, struct ksmbd_conn *conn) in lookup_chann_list() argument
78 return xa_load(&sess->ksmbd_chann_list, (long)conn); in lookup_chann_list()
101 if (xa_empty(&work->sess->tree_conns)) { in smb2_get_ksmbd_tcon()
125 work->tcon = ksmbd_tree_conn_lookup(work->sess, tree_id); in smb2_get_ksmbd_tcon()
594 if (!work->sess) { in smb2_check_user_session()
598 if (sess_id != ULLONG_MAX && work->sess->id != sess_id) { in smb2_check_user_session()
600 sess_id, work->sess->id); in smb2_check_user_session()
607 work->sess = ksmbd_session_lookup_all(conn, sess_id); in smb2_check_user_session()
608 if (work->sess) in smb2_check_user_session()
1260 static int alloc_preauth_hash(struct ksmbd_session *sess, in alloc_preauth_hash() argument
1263 if (sess->Preauth_HashValue) in alloc_preauth_hash()
1266 sess->Preauth_HashValue = kmemdup(conn->preauth_info->Preauth_HashValue, in alloc_preauth_hash()
1268 if (!sess->Preauth_HashValue) in alloc_preauth_hash()
1277 struct ksmbd_session *sess = work->sess; in generate_preauth_hash() local
1286 preauth_sess = ksmbd_preauth_session_lookup(conn, sess->id); in generate_preauth_hash()
1288 preauth_sess = ksmbd_preauth_session_alloc(conn, sess->id); in generate_preauth_hash()
1295 if (!sess->Preauth_HashValue) in generate_preauth_hash()
1296 if (alloc_preauth_hash(sess, conn)) in generate_preauth_hash()
1298 preauth_hash = sess->Preauth_HashValue; in generate_preauth_hash()
1438 struct ksmbd_session *sess = work->sess; in ntlm_authenticate() local
1469 if (prev_id && prev_id != sess->id) in ntlm_authenticate()
1472 if (sess->state == SMB2_SESSION_VALID) { in ntlm_authenticate()
1482 if (!ksmbd_compare_user(sess->user, user)) { in ntlm_authenticate()
1488 sess->user = user; in ntlm_authenticate()
1491 if (conn->binding == false && user_guest(sess->user)) { in ntlm_authenticate()
1501 rc = ksmbd_decode_ntlmssp_auth_blob(authblob, sz, conn, sess); in ntlm_authenticate()
1503 set_user_flag(sess->user, KSMBD_USER_FLAG_BAD_PASSWORD); in ntlm_authenticate()
1514 if (sess->state == SMB2_SESSION_VALID) { in ntlm_authenticate()
1523 sess->sign = true; in ntlm_authenticate()
1527 rc = conn->ops->generate_encryptionkey(conn, sess); in ntlm_authenticate()
1533 sess->enc = true; in ntlm_authenticate()
1540 sess->sign = false; in ntlm_authenticate()
1545 chann = lookup_chann_list(sess, conn); in ntlm_authenticate()
1552 xa_store(&sess->ksmbd_chann_list, (long)conn, chann, GFP_KERNEL); in ntlm_authenticate()
1557 rc = conn->ops->generate_signingkey(sess, conn); in ntlm_authenticate()
1577 struct ksmbd_session *sess = work->sess; in krb5_authenticate() local
1594 if (prev_sess_id && prev_sess_id != sess->id) in krb5_authenticate()
1595 destroy_previous_session(conn, sess->user, prev_sess_id); in krb5_authenticate()
1597 if (sess->state == SMB2_SESSION_VALID) in krb5_authenticate()
1598 ksmbd_free_user(sess->user); in krb5_authenticate()
1600 retval = ksmbd_krb5_authenticate(sess, in_blob, in_len, in krb5_authenticate()
1610 sess->sign = true; in krb5_authenticate()
1613 retval = conn->ops->generate_encryptionkey(conn, sess); in krb5_authenticate()
1619 sess->enc = true; in krb5_authenticate()
1622 sess->sign = false; in krb5_authenticate()
1626 chann = lookup_chann_list(sess, conn); in krb5_authenticate()
1633 xa_store(&sess->ksmbd_chann_list, (long)conn, chann, GFP_KERNEL); in krb5_authenticate()
1638 retval = conn->ops->generate_signingkey(sess, conn); in krb5_authenticate()
1665 struct ksmbd_session *sess; in smb2_sess_setup() local
1681 sess = ksmbd_smb2_session_create(); in smb2_sess_setup()
1682 if (!sess) { in smb2_sess_setup()
1686 rsp->hdr.SessionId = cpu_to_le64(sess->id); in smb2_sess_setup()
1687 rc = ksmbd_session_register(conn, sess); in smb2_sess_setup()
1695 sess = ksmbd_session_lookup_slowpath(sess_id); in smb2_sess_setup()
1696 if (!sess) { in smb2_sess_setup()
1701 if (conn->dialect != sess->dialect) { in smb2_sess_setup()
1711 if (strncmp(conn->ClientGUID, sess->ClientGUID, in smb2_sess_setup()
1717 if (sess->state == SMB2_SESSION_IN_PROGRESS) { in smb2_sess_setup()
1722 if (sess->state == SMB2_SESSION_EXPIRED) { in smb2_sess_setup()
1729 sess = NULL; in smb2_sess_setup()
1738 if (user_guest(sess->user)) { in smb2_sess_setup()
1747 sess = NULL; in smb2_sess_setup()
1751 sess = ksmbd_session_lookup(conn, in smb2_sess_setup()
1753 if (!sess) { in smb2_sess_setup()
1758 if (sess->state == SMB2_SESSION_EXPIRED) { in smb2_sess_setup()
1765 sess = NULL; in smb2_sess_setup()
1769 work->sess = sess; in smb2_sess_setup()
1808 sess->state = SMB2_SESSION_VALID; in smb2_sess_setup()
1810 kfree(sess->Preauth_HashValue); in smb2_sess_setup()
1811 sess->Preauth_HashValue = NULL; in smb2_sess_setup()
1826 sess->state = SMB2_SESSION_VALID; in smb2_sess_setup()
1832 ksmbd_preauth_session_lookup(conn, sess->id); in smb2_sess_setup()
1838 kfree(sess->Preauth_HashValue); in smb2_sess_setup()
1839 sess->Preauth_HashValue = NULL; in smb2_sess_setup()
1883 if (sess) { in smb2_sess_setup()
1892 if (sess->user && sess->user->flags & KSMBD_USER_FLAG_DELAY_SESSION) in smb2_sess_setup()
1895 sess->last_active = jiffies; in smb2_sess_setup()
1896 sess->state = SMB2_SESSION_EXPIRED; in smb2_sess_setup()
1932 struct ksmbd_session *sess = work->sess; in smb2_tree_connect() local
1958 status = ksmbd_tree_conn_connect(conn, sess, name); in smb2_tree_connect()
1992 write_lock(&sess->tree_conns_lock); in smb2_tree_connect()
1994 write_unlock(&sess->tree_conns_lock); in smb2_tree_connect()
2121 struct ksmbd_session *sess = work->sess; in smb2_tree_disconnect() local
2139 write_lock(&sess->tree_conns_lock); in smb2_tree_disconnect()
2141 write_unlock(&sess->tree_conns_lock); in smb2_tree_disconnect()
2149 write_unlock(&sess->tree_conns_lock); in smb2_tree_disconnect()
2151 err = ksmbd_tree_conn_disconnect(sess, tcon); in smb2_tree_disconnect()
2186 struct ksmbd_session *sess; in smb2_session_logoff() local
2212 sess = ksmbd_session_lookup_all(conn, sess_id); in smb2_session_logoff()
2213 if (ksmbd_tree_conn_session_logoff(sess)) { in smb2_session_logoff()
2220 ksmbd_destroy_file_table(&sess->file_table); in smb2_session_logoff()
2221 sess->state = SMB2_SESSION_EXPIRED; in smb2_session_logoff()
2223 ksmbd_free_user(sess->user); in smb2_session_logoff()
2224 sess->user = NULL; in smb2_session_logoff()
2261 id = ksmbd_session_rpc_open(work->sess, name); in create_smb2_pipe()
2805 struct ksmbd_session *sess = work->sess; in smb2_open() local
3151 sess->user->uid); in smb2_open()
3297 rc = smb_inherit_dacl(conn, &path, sess->user->uid, in smb2_open()
3298 sess->user->gid); in smb2_open()
3422 rc = find_same_lease_key(sess, fp->f_ci, lc); in smb2_open()
3666 ksmbd_update_fstate(&work->sess->file_table, fp, FP_INITED); in smb2_open()
4504 static int smb2_get_info_file_pipe(struct ksmbd_session *sess, in smb2_get_info_file_pipe() argument
4517 if (!ksmbd_session_rpc_method(sess, id)) in smb2_get_info_file_pipe()
5176 return smb2_get_info_file_pipe(work->sess, req, rsp, in smb2_get_info_file()
5284 struct ksmbd_session *sess = work->sess; in smb2_get_info_filesystem() local
5409 if (!user_guest(sess->user)) in smb2_get_info_filesystem()
5410 memcpy(info->objid, user_passkey(sess->user), 16); in smb2_get_info_filesystem()
5647 ksmbd_session_rpc_close(work->sess, id); in smb2_close_pipe()
6447 rpc_resp = ksmbd_rpc_read(work->sess, id); in smb2_read_pipe()
6745 rpc_resp = ksmbd_rpc_write(work->sess, id, data_buf, length); in smb2_write_pipe()
7834 rpc_resp = ksmbd_rpc_ioctl(work->sess, id, data_buf, in fsctl_pipe_transceive()
8667 if (ksmbd_sign_smb2_pdu(work->conn, work->sess->sess_key, iov, 1, in smb2_check_sign_req()
8702 if (!ksmbd_sign_smb2_pdu(work->conn, work->sess->sess_key, iov, n_vec, in smb2_set_sign_rsp()
8737 signing_key = work->sess->smb3signingkey; in smb3_check_sign_req()
8739 chann = lookup_chann_list(work->sess, conn); in smb3_check_sign_req()
8786 signing_key = work->sess->smb3signingkey; in smb3_set_sign_rsp()
8788 chann = lookup_chann_list(work->sess, work->conn); in smb3_set_sign_rsp()
8821 struct ksmbd_session *sess = work->sess; in smb3_preauth_hash_rsp() local
8834 if (le16_to_cpu(rsp->Command) == SMB2_SESSION_SETUP_HE && sess) { in smb3_preauth_hash_rsp()
8840 preauth_sess = ksmbd_preauth_session_lookup(conn, sess->id); in smb3_preauth_hash_rsp()
8845 hash_value = sess->Preauth_HashValue; in smb3_preauth_hash_rsp()
8903 struct ksmbd_session *sess; in smb3_decrypt_req() local
8923 sess = ksmbd_session_lookup_all(work->conn, le64_to_cpu(tr_hdr->SessionId)); in smb3_decrypt_req()
8924 if (!sess) { in smb3_decrypt_req()
8947 struct ksmbd_session *sess = work->sess; in smb3_11_final_sess_setup_resp() local
8957 sess->user && !user_guest(sess->user) && in smb3_11_final_sess_setup_resp()