Lines Matching refs:shdr
22 check_smb2_hdr(struct smb2_hdr *shdr, __u64 mid) in check_smb2_hdr() argument
24 __u64 wire_mid = le64_to_cpu(shdr->MessageId); in check_smb2_hdr()
30 if ((shdr->ProtocolId == SMB2_PROTO_NUMBER) && in check_smb2_hdr()
32 if (shdr->Flags & SMB2_FLAGS_SERVER_TO_REDIR) in check_smb2_hdr()
36 if (shdr->Command == SMB2_OPLOCK_BREAK) in check_smb2_hdr()
42 if (shdr->ProtocolId != SMB2_PROTO_NUMBER) in check_smb2_hdr()
44 le32_to_cpu(shdr->ProtocolId)); in check_smb2_hdr()
139 struct smb2_hdr *shdr = (struct smb2_hdr *)buf; in smb2_check_message() local
140 struct smb2_pdu *pdu = (struct smb2_pdu *)shdr; in smb2_check_message()
154 if (shdr->ProtocolId == SMB2_TRANSFORM_PROTO_NUM) { in smb2_check_message()
175 mid = le64_to_cpu(shdr->MessageId); in smb2_check_message()
178 && (shdr->Status != 0)) { in smb2_check_message()
196 if (check_smb2_hdr(shdr, mid)) in smb2_check_message()
199 if (shdr->StructureSize != SMB2_HEADER_STRUCTURE_SIZE) { in smb2_check_message()
201 le16_to_cpu(shdr->StructureSize)); in smb2_check_message()
205 command = le16_to_cpu(shdr->Command); in smb2_check_message()
212 if (command != SMB2_OPLOCK_BREAK_HE && (shdr->Status == 0 || in smb2_check_message()
219 && (shdr->Status == 0) in smb2_check_message()
237 calc_len += get_neg_ctxt_len(shdr, len, calc_len); in smb2_check_message()
242 shdr->Status == STATUS_STOPPED_ON_SYMLINK) in smb2_check_message()
314 smb2_get_data_area_len(int *off, int *len, struct smb2_hdr *shdr) in smb2_get_data_area_len() argument
320 if (shdr->Status && shdr->Status != STATUS_MORE_PROCESSING_REQUIRED && in smb2_get_data_area_len()
321 (((struct smb2_err_rsp *)shdr)->StructureSize) == in smb2_get_data_area_len()
330 switch (shdr->Command) { in smb2_get_data_area_len()
333 ((struct smb2_negotiate_rsp *)shdr)->SecurityBufferOffset); in smb2_get_data_area_len()
335 ((struct smb2_negotiate_rsp *)shdr)->SecurityBufferLength); in smb2_get_data_area_len()
339 ((struct smb2_sess_setup_rsp *)shdr)->SecurityBufferOffset); in smb2_get_data_area_len()
341 ((struct smb2_sess_setup_rsp *)shdr)->SecurityBufferLength); in smb2_get_data_area_len()
345 ((struct smb2_create_rsp *)shdr)->CreateContextsOffset); in smb2_get_data_area_len()
347 ((struct smb2_create_rsp *)shdr)->CreateContextsLength); in smb2_get_data_area_len()
351 ((struct smb2_query_info_rsp *)shdr)->OutputBufferOffset); in smb2_get_data_area_len()
353 ((struct smb2_query_info_rsp *)shdr)->OutputBufferLength); in smb2_get_data_area_len()
357 *off = ((struct smb2_read_rsp *)shdr)->DataOffset; in smb2_get_data_area_len()
358 *len = le32_to_cpu(((struct smb2_read_rsp *)shdr)->DataLength); in smb2_get_data_area_len()
362 ((struct smb2_query_directory_rsp *)shdr)->OutputBufferOffset); in smb2_get_data_area_len()
364 ((struct smb2_query_directory_rsp *)shdr)->OutputBufferLength); in smb2_get_data_area_len()
368 ((struct smb2_ioctl_rsp *)shdr)->OutputOffset); in smb2_get_data_area_len()
370 ((struct smb2_ioctl_rsp *)shdr)->OutputCount); in smb2_get_data_area_len()
374 ((struct smb2_change_notify_rsp *)shdr)->OutputBufferOffset); in smb2_get_data_area_len()
376 ((struct smb2_change_notify_rsp *)shdr)->OutputBufferLength); in smb2_get_data_area_len()
379 cifs_dbg(VFS, "no length check for command %d\n", le16_to_cpu(shdr->Command)); in smb2_get_data_area_len()
407 return (char *)shdr + *off; in smb2_get_data_area_len()
420 struct smb2_hdr *shdr = &pdu->hdr; in smb2_calc_size() local
424 int len = le16_to_cpu(shdr->StructureSize); in smb2_calc_size()
432 if (has_smb2_data_area[le16_to_cpu(shdr->Command)] == false) in smb2_calc_size()
435 smb2_get_data_area_len(&offset, &data_length, shdr); in smb2_calc_size()