Lines Matching refs:ses
87 if ((tcon->ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) || in smb3_encryption_required()
91 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required()
103 if (tcon && tcon->ses && tcon->ses->server) { in smb2_hdr_assemble()
104 struct TCP_Server_Info *server = tcon->ses->server; in smb2_hdr_assemble()
125 if ((tcon->ses) && (tcon->ses->server) && in smb2_hdr_assemble()
126 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_hdr_assemble()
132 if (tcon->ses) in smb2_hdr_assemble()
133 shdr->SessionId = tcon->ses->Suid; in smb2_hdr_assemble()
148 if (tcon->ses && tcon->ses->server && tcon->ses->server->sign && in smb2_hdr_assemble()
160 struct cifs_ses *ses; in smb2_reconnect() local
188 if ((!tcon->ses) || (tcon->ses->status == CifsExiting) || in smb2_reconnect()
189 (!tcon->ses->server)) in smb2_reconnect()
192 ses = tcon->ses; in smb2_reconnect()
193 server = ses->server; in smb2_reconnect()
239 if (!tcon->ses->need_reconnect && !tcon->need_reconnect) in smb2_reconnect()
248 mutex_lock(&tcon->ses->session_mutex); in smb2_reconnect()
257 mutex_unlock(&tcon->ses->session_mutex); in smb2_reconnect()
261 rc = cifs_negotiate_protocol(0, tcon->ses); in smb2_reconnect()
262 if (!rc && tcon->ses->need_reconnect) in smb2_reconnect()
263 rc = cifs_setup_session(0, tcon->ses, nls_codepage); in smb2_reconnect()
266 mutex_unlock(&tcon->ses->session_mutex); in smb2_reconnect()
274 rc = SMB2_tcon(0, tcon->ses, tcon->treeName, tcon, nls_codepage); in smb2_reconnect()
275 mutex_unlock(&tcon->ses->session_mutex); in smb2_reconnect()
603 SMB2_negotiate(const unsigned int xid, struct cifs_ses *ses) in SMB2_negotiate() argument
612 struct TCP_Server_Info *server = ses->server; in SMB2_negotiate()
632 memset(ses->preauth_sha_hash, 0, SMB2_PREAUTH_HASH_SIZE); in SMB2_negotiate()
634 if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
640 } else if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
649 req->Dialects[0] = cpu_to_le16(ses->server->vals->protocol_id); in SMB2_negotiate()
655 if (ses->sign) in SMB2_negotiate()
662 req->Capabilities = cpu_to_le32(ses->server->vals->req_capabilities); in SMB2_negotiate()
665 if (ses->server->vals->protocol_id == SMB20_PROT_ID) in SMB2_negotiate()
670 if (ses->server->vals->protocol_id == SMB311_PROT_ID) in SMB2_negotiate()
680 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_negotiate()
695 if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
706 } else if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
714 ses->server->ops = &smb21_operations; in SMB2_negotiate()
717 ses->server->vals->protocol_id) { in SMB2_negotiate()
749 memcpy(server->preauth_sha_hash, ses->preauth_sha_hash, in SMB2_negotiate()
781 rc = cifs_enable_signing(server, ses->sign); in SMB2_negotiate()
815 if (tcon->ses->server->dialect == SMB311_PROT_ID) in smb3_validate_negotiate()
825 if (tcon->ses->session_flags & SMB2_SESSION_FLAG_IS_GUEST) in smb3_validate_negotiate()
828 if (tcon->ses->user_name == NULL) { in smb3_validate_negotiate()
833 if (tcon->ses->session_flags & SMB2_SESSION_FLAG_IS_NULL) in smb3_validate_negotiate()
841 cpu_to_le32(tcon->ses->server->vals->req_capabilities); in smb3_validate_negotiate()
842 memcpy(pneg_inbuf->Guid, tcon->ses->server->client_guid, in smb3_validate_negotiate()
845 if (tcon->ses->sign) in smb3_validate_negotiate()
855 if (strcmp(tcon->ses->server->vals->version_string, in smb3_validate_negotiate()
863 } else if (strcmp(tcon->ses->server->vals->version_string, in smb3_validate_negotiate()
874 cpu_to_le16(tcon->ses->server->vals->protocol_id); in smb3_validate_negotiate()
902 if (pneg_rsp->Dialect != cpu_to_le16(tcon->ses->server->dialect)) in smb3_validate_negotiate()
905 if (pneg_rsp->SecurityMode != cpu_to_le16(tcon->ses->server->sec_mode)) in smb3_validate_negotiate()
911 SMB2_LARGE_FILES) != tcon->ses->server->capabilities) in smb3_validate_negotiate()
952 struct cifs_ses *ses; member
973 struct cifs_ses *ses = sess_data->ses; in SMB2_sess_alloc_buffer() local
975 struct TCP_Server_Info *server = ses->server; in SMB2_sess_alloc_buffer()
1042 rc = cifs_send_recv(sess_data->xid, sess_data->ses, in SMB2_sess_sendreceive()
1056 struct cifs_ses *ses = sess_data->ses; in SMB2_sess_establish_session() local
1058 mutex_lock(&ses->server->srv_mutex); in SMB2_sess_establish_session()
1059 if (ses->server->ops->generate_signingkey) { in SMB2_sess_establish_session()
1060 rc = ses->server->ops->generate_signingkey(ses); in SMB2_sess_establish_session()
1064 mutex_unlock(&ses->server->srv_mutex); in SMB2_sess_establish_session()
1068 if (!ses->server->session_estab) { in SMB2_sess_establish_session()
1069 ses->server->sequence_number = 0x2; in SMB2_sess_establish_session()
1070 ses->server->session_estab = true; in SMB2_sess_establish_session()
1072 mutex_unlock(&ses->server->srv_mutex); in SMB2_sess_establish_session()
1076 ses->status = CifsGood; in SMB2_sess_establish_session()
1077 ses->need_reconnect = false; in SMB2_sess_establish_session()
1087 struct cifs_ses *ses = sess_data->ses; in SMB2_auth_kerberos() local
1096 spnego_key = cifs_get_spnego_key(ses); in SMB2_auth_kerberos()
1116 ses->auth_key.response = kmemdup(msg->data, msg->sesskey_len, in SMB2_auth_kerberos()
1118 if (!ses->auth_key.response) { in SMB2_auth_kerberos()
1125 ses->auth_key.len = msg->sesskey_len; in SMB2_auth_kerberos()
1135 ses->Suid = rsp->sync_hdr.SessionId; in SMB2_auth_kerberos()
1137 ses->session_flags = le16_to_cpu(rsp->SessionFlags); in SMB2_auth_kerberos()
1165 struct cifs_ses *ses = sess_data->ses; in SMB2_sess_auth_rawntlmssp_negotiate() local
1175 ses->ntlmssp = kmalloc(sizeof(struct ntlmssp_auth), GFP_KERNEL); in SMB2_sess_auth_rawntlmssp_negotiate()
1176 if (!ses->ntlmssp) { in SMB2_sess_auth_rawntlmssp_negotiate()
1180 ses->ntlmssp->sesskey_per_smbsess = true; in SMB2_sess_auth_rawntlmssp_negotiate()
1193 build_ntlmssp_negotiate_blob(ntlmssp_blob, ses); in SMB2_sess_auth_rawntlmssp_negotiate()
1225 le16_to_cpu(rsp->SecurityBufferLength), ses); in SMB2_sess_auth_rawntlmssp_negotiate()
1232 ses->Suid = rsp->sync_hdr.SessionId; in SMB2_sess_auth_rawntlmssp_negotiate()
1233 ses->session_flags = le16_to_cpu(rsp->SessionFlags); in SMB2_sess_auth_rawntlmssp_negotiate()
1244 kfree(ses->ntlmssp); in SMB2_sess_auth_rawntlmssp_negotiate()
1245 ses->ntlmssp = NULL; in SMB2_sess_auth_rawntlmssp_negotiate()
1254 struct cifs_ses *ses = sess_data->ses; in SMB2_sess_auth_rawntlmssp_authenticate() local
1266 req->sync_hdr.SessionId = ses->Suid; in SMB2_sess_auth_rawntlmssp_authenticate()
1268 rc = build_ntlmssp_auth_blob(&ntlmssp_blob, &blob_length, ses, in SMB2_sess_auth_rawntlmssp_authenticate()
1290 ses->Suid = rsp->sync_hdr.SessionId; in SMB2_sess_auth_rawntlmssp_authenticate()
1291 ses->session_flags = le16_to_cpu(rsp->SessionFlags); in SMB2_sess_auth_rawntlmssp_authenticate()
1297 kfree(ses->ntlmssp); in SMB2_sess_auth_rawntlmssp_authenticate()
1298 ses->ntlmssp = NULL; in SMB2_sess_auth_rawntlmssp_authenticate()
1304 SMB2_select_sec(struct cifs_ses *ses, struct SMB2_sess_data *sess_data) in SMB2_select_sec() argument
1308 type = smb2_select_sectype(ses->server, ses->sectype); in SMB2_select_sec()
1332 SMB2_sess_setup(const unsigned int xid, struct cifs_ses *ses, in SMB2_sess_setup() argument
1336 struct TCP_Server_Info *server = ses->server; in SMB2_sess_setup()
1350 rc = SMB2_select_sec(ses, sess_data); in SMB2_sess_setup()
1354 sess_data->ses = ses; in SMB2_sess_setup()
1357 sess_data->previous_session = ses->Suid; in SMB2_sess_setup()
1362 memcpy(ses->preauth_sha_hash, ses->server->preauth_sha_hash, in SMB2_sess_setup()
1368 if ((ses->session_flags & SMB2_SESSION_FLAG_IS_GUEST) && (ses->sign)) in SMB2_sess_setup()
1377 SMB2_logoff(const unsigned int xid, struct cifs_ses *ses) in SMB2_logoff() argument
1389 cifs_dbg(FYI, "disconnect session %p\n", ses); in SMB2_logoff()
1391 if (ses && (ses->server)) in SMB2_logoff()
1392 server = ses->server; in SMB2_logoff()
1397 if (ses->need_reconnect) in SMB2_logoff()
1405 req->sync_hdr.SessionId = ses->Suid; in SMB2_logoff()
1407 if (ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) in SMB2_logoff()
1421 rc = cifs_send_recv(xid, ses, &rqst, &resp_buf_type, flags, &rsp_iov); in SMB2_logoff()
1448 SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree, in SMB2_tcon() argument
1465 if (!(ses->server) || !tree) in SMB2_tcon()
1504 if ((ses->server->dialect == SMB311_PROT_ID) && in SMB2_tcon()
1512 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_tcon()
1555 !(tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in SMB2_tcon()
1559 if (tcon->ses->server->ops->validate_negotiate) in SMB2_tcon()
1560 rc = tcon->ses->server->ops->validate_negotiate(xid, tcon); in SMB2_tcon()
1579 struct cifs_ses *ses = tcon->ses; in SMB2_tdis() local
1588 if (!ses || !(ses->server)) in SMB2_tdis()
1591 if ((tcon->need_reconnect) || (tcon->ses->need_reconnect)) in SMB2_tdis()
1611 rc = cifs_send_recv(xid, ses, &rqst, &resp_buf_type, flags, &rsp_iov); in SMB2_tdis()
1958 struct cifs_ses *ses = tcon->ses; in smb311_posix_mkdir() local
1980 if (ses && (ses->server)) in smb311_posix_mkdir()
1981 server = ses->server; in smb311_posix_mkdir()
2071 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in smb311_posix_mkdir()
2074 trace_smb3_posix_mkdir_err(xid, tcon->tid, ses->Suid, in smb311_posix_mkdir()
2082 ses->Suid, CREATE_NOT_FILE, in smb311_posix_mkdir()
2103 struct TCP_Server_Info *server = tcon->ses->server; in SMB2_open_init()
2261 struct cifs_ses *ses = tcon->ses; in SMB2_open() local
2269 if (ses && (ses->server)) in SMB2_open()
2270 server = ses->server; in SMB2_open()
2286 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, in SMB2_open()
2298 trace_smb3_open_err(xid, tcon->tid, ses->Suid, in SMB2_open()
2303 ses->Suid, oparms->create_options, in SMB2_open()
2341 struct cifs_ses *ses; in SMB2_ioctl() local
2360 ses = tcon->ses; in SMB2_ioctl()
2364 if (!ses || !(ses->server)) in SMB2_ioctl()
2433 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, in SMB2_ioctl()
2440 ses->Suid, 0, opcode, rc); in SMB2_ioctl()
2547 struct cifs_ses *ses = tcon->ses; in SMB2_close_flags() local
2555 if (!ses || !(ses->server)) in SMB2_close_flags()
2570 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_close_flags()
2575 trace_smb3_close_err(xid, persistent_fid, tcon->tid, ses->Suid, in SMB2_close_flags()
2703 struct cifs_ses *ses = tcon->ses; in query_info() local
2708 if (!ses || !(ses->server)) in query_info()
2725 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in query_info()
2731 ses->Suid, info_class, (__u32)info_type, rc); in query_info()
2830 struct cifs_ses *ses; in smb2_reconnect_server() local
2845 list_for_each_entry(ses, &server->smb_ses_list, smb_ses_list) { in smb2_reconnect_server()
2846 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in smb2_reconnect_server()
2853 if (ses->tcon_ipc && ses->tcon_ipc->need_reconnect) { in smb2_reconnect_server()
2854 list_add_tail(&ses->tcon_ipc->rlist, &tmp_list); in smb2_reconnect_server()
2929 struct cifs_ses *ses = tcon->ses; in SMB2_flush() local
2939 if (!ses || !(ses->server)) in SMB2_flush()
2959 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_flush()
2964 trace_smb3_flush_err(xid, persistent_fid, tcon->tid, ses->Suid, in SMB2_flush()
2991 server = io_parms->tcon->ses->server; in smb2_new_read_req()
3016 io_parms->tcon->ses->server->dialect == SMB30_PROT_ID; in smb2_new_read_req()
3073 struct TCP_Server_Info *server = tcon->ses->server; in smb2_readv_callback()
3161 server = io_parms.tcon->ses->server; in smb2_async_readv()
3198 rc = cifs_call_async(io_parms.tcon->ses->server, &rqst, in smb2_async_readv()
3205 io_parms.tcon->tid, io_parms.tcon->ses->Suid, in smb2_async_readv()
3209 io_parms.tcon->tid, io_parms.tcon->ses->Suid, in smb2_async_readv()
3228 struct cifs_ses *ses = io_parms->tcon->ses; in SMB2_read() local
3245 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_read()
3256 io_parms->tcon->tid, ses->Suid, in SMB2_read()
3262 io_parms->tcon->tid, ses->Suid, in SMB2_read()
3303 wdata->result = smb2_check_receive(mid, tcon->ses->server, 0); in smb2_writev_callback()
3348 add_credits(tcon->ses->server, credits_received, 0); in smb2_writev_callback()
3360 struct TCP_Server_Info *server = tcon->ses->server; in smb2_async_writev()
3480 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_async_writev()
3486 tcon->tid, tcon->ses->Suid, wdata->offset, in smb2_async_writev()
3523 if (io_parms->tcon->ses->server == NULL) in SMB2_write()
3550 rc = cifs_send_recv(xid, io_parms->tcon->ses, &rqst, in SMB2_write()
3558 io_parms->tcon->ses->Suid, in SMB2_write()
3566 io_parms->tcon->ses->Suid, in SMB2_write()
3637 struct cifs_ses *ses = tcon->ses; in SMB2_query_directory() local
3645 if (ses && (ses->server)) in SMB2_query_directory()
3646 server = ses->server; in SMB2_query_directory()
3704 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_query_directory()
3771 struct cifs_ses *ses = tcon->ses; in send_set_info() local
3775 if (!ses || !(ses->server)) in send_set_info()
3823 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, in send_set_info()
3831 ses->Suid, info_class, (__u32)info_type, rc); in send_set_info()
3981 struct cifs_ses *ses = tcon->ses; in SMB2_oplock_break() local
4011 rc = cifs_send_recv(xid, ses, &rqst, &resp_buf_type, flags, &rsp_iov); in SMB2_oplock_break()
4064 if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) in build_qfs_info_req()
4067 server = tcon->ses->server; in build_qfs_info_req()
4099 struct cifs_ses *ses = tcon->ses; in SMB311_posix_qfs_info() local
4116 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB311_posix_qfs_info()
4147 struct cifs_ses *ses = tcon->ses; in SMB2_QFS_info() local
4164 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_QFS_info()
4195 struct cifs_ses *ses = tcon->ses; in SMB2_QFS_attr() local
4228 rc = cifs_send_recv(xid, ses, &rqst, &resp_buftype, flags, &rsp_iov); in SMB2_QFS_attr()
4310 rc = cifs_send_recv(xid, tcon->ses, &rqst, &resp_buf_type, flags, in smb2_lockv()
4317 tcon->ses->Suid, rc); in smb2_lockv()
4347 struct cifs_ses *ses = tcon->ses; in SMB2_lease_break() local
4379 rc = cifs_send_recv(xid, ses, &rqst, &resp_buf_type, flags, &rsp_iov); in SMB2_lease_break()