Lines Matching refs:shdr
35 check_smb2_hdr(struct smb2_sync_hdr *shdr, __u64 mid) in check_smb2_hdr() argument
37 __u64 wire_mid = le64_to_cpu(shdr->MessageId); in check_smb2_hdr()
43 if ((shdr->ProtocolId == SMB2_PROTO_NUMBER) && in check_smb2_hdr()
45 if (shdr->Flags & SMB2_FLAGS_SERVER_TO_REDIR) in check_smb2_hdr()
49 if (shdr->Command == SMB2_OPLOCK_BREAK) in check_smb2_hdr()
55 if (shdr->ProtocolId != SMB2_PROTO_NUMBER) in check_smb2_hdr()
57 le32_to_cpu(shdr->ProtocolId)); in check_smb2_hdr()
142 struct smb2_sync_hdr *shdr = (struct smb2_sync_hdr *)buf; in smb2_check_message() local
143 struct smb2_sync_pdu *pdu = (struct smb2_sync_pdu *)shdr; in smb2_check_message()
154 if (shdr->ProtocolId == SMB2_TRANSFORM_PROTO_NUM) { in smb2_check_message()
176 mid = le64_to_cpu(shdr->MessageId); in smb2_check_message()
179 && (shdr->Status != 0)) { in smb2_check_message()
197 if (check_smb2_hdr(shdr, mid)) in smb2_check_message()
200 if (shdr->StructureSize != SMB2_HEADER_STRUCTURE_SIZE) { in smb2_check_message()
202 le16_to_cpu(shdr->StructureSize)); in smb2_check_message()
206 command = le16_to_cpu(shdr->Command); in smb2_check_message()
213 if (command != SMB2_OPLOCK_BREAK_HE && (shdr->Status == 0 || in smb2_check_message()
220 && (shdr->Status == 0) in smb2_check_message()
232 if (shdr->Command == SMB2_NEGOTIATE) in smb2_check_message()
233 clc_len += get_neg_ctxt_len(shdr, len, clc_len); in smb2_check_message()
240 shdr->Status == STATUS_STOPPED_ON_SYMLINK) in smb2_check_message()
306 smb2_get_data_area_len(int *off, int *len, struct smb2_sync_hdr *shdr) in smb2_get_data_area_len() argument
312 if (shdr->Status && shdr->Status != STATUS_MORE_PROCESSING_REQUIRED && in smb2_get_data_area_len()
313 (((struct smb2_err_rsp *)shdr)->StructureSize) == in smb2_get_data_area_len()
322 switch (shdr->Command) { in smb2_get_data_area_len()
325 ((struct smb2_negotiate_rsp *)shdr)->SecurityBufferOffset); in smb2_get_data_area_len()
327 ((struct smb2_negotiate_rsp *)shdr)->SecurityBufferLength); in smb2_get_data_area_len()
331 ((struct smb2_sess_setup_rsp *)shdr)->SecurityBufferOffset); in smb2_get_data_area_len()
333 ((struct smb2_sess_setup_rsp *)shdr)->SecurityBufferLength); in smb2_get_data_area_len()
337 ((struct smb2_create_rsp *)shdr)->CreateContextsOffset); in smb2_get_data_area_len()
339 ((struct smb2_create_rsp *)shdr)->CreateContextsLength); in smb2_get_data_area_len()
343 ((struct smb2_query_info_rsp *)shdr)->OutputBufferOffset); in smb2_get_data_area_len()
345 ((struct smb2_query_info_rsp *)shdr)->OutputBufferLength); in smb2_get_data_area_len()
349 *off = ((struct smb2_read_rsp *)shdr)->DataOffset; in smb2_get_data_area_len()
350 *len = le32_to_cpu(((struct smb2_read_rsp *)shdr)->DataLength); in smb2_get_data_area_len()
354 ((struct smb2_query_directory_rsp *)shdr)->OutputBufferOffset); in smb2_get_data_area_len()
356 ((struct smb2_query_directory_rsp *)shdr)->OutputBufferLength); in smb2_get_data_area_len()
360 ((struct smb2_ioctl_rsp *)shdr)->OutputOffset); in smb2_get_data_area_len()
362 ((struct smb2_ioctl_rsp *)shdr)->OutputCount); in smb2_get_data_area_len()
366 ((struct smb2_change_notify_rsp *)shdr)->OutputBufferOffset); in smb2_get_data_area_len()
368 ((struct smb2_change_notify_rsp *)shdr)->OutputBufferLength); in smb2_get_data_area_len()
371 cifs_dbg(VFS, "no length check for command %d\n", le16_to_cpu(shdr->Command)); in smb2_get_data_area_len()
399 return (char *)shdr + *off; in smb2_get_data_area_len()
412 struct smb2_sync_hdr *shdr = &pdu->sync_hdr; in smb2_calc_size() local
416 int len = le16_to_cpu(shdr->StructureSize); in smb2_calc_size()
424 if (has_smb2_data_area[le16_to_cpu(shdr->Command)] == false) in smb2_calc_size()
427 smb2_get_data_area_len(&offset, &data_length, shdr); in smb2_calc_size()