Loading fs/cifs/misc.c +24 −22 Original line number Diff line number Diff line Loading @@ -381,29 +381,31 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ , } static int checkSMBhdr(struct smb_hdr *smb, __u16 mid) check_smb_hdr(struct smb_hdr *smb, __u16 mid) { /* Make sure that this really is an SMB, that it is a response, and that the message ids match */ if ((*(__le32 *) smb->Protocol == cpu_to_le32(0x424d53ff)) && (mid == smb->Mid)) { /* does it have the right SMB "signature" ? */ if (*(__le32 *) smb->Protocol != cpu_to_le32(0x424d53ff)) { cERROR(1, "Bad protocol string signature header 0x%x", *(unsigned int *)smb->Protocol); return 1; } /* Make sure that message ids match */ if (mid != smb->Mid) { cERROR(1, "Mids do not match. received=%u expected=%u", smb->Mid, mid); return 1; } /* if it's a response then accept */ if (smb->Flags & SMBFLG_RESPONSE) return 0; else { /* only one valid case where server sends us request */ if (smb->Command == SMB_COM_LOCKING_ANDX) return 0; else cERROR(1, "Received Request not response"); } } else { /* bad signature or mid */ if (*(__le32 *) smb->Protocol != cpu_to_le32(0x424d53ff)) cERROR(1, "Bad protocol string signature header %x", *(unsigned int *) smb->Protocol); if (mid != smb->Mid) cERROR(1, "Mids do not match"); } cERROR(1, "bad smb detected. The Mid=%d", smb->Mid); cERROR(1, "Server sent request, not response. mid=%u", smb->Mid); return 1; } Loading Loading @@ -448,7 +450,7 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length) return 1; } if (checkSMBhdr(smb, mid)) if (check_smb_hdr(smb, mid)) return 1; clc_len = smbCalcSize_LE(smb); Loading Loading
fs/cifs/misc.c +24 −22 Original line number Diff line number Diff line Loading @@ -381,29 +381,31 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ , } static int checkSMBhdr(struct smb_hdr *smb, __u16 mid) check_smb_hdr(struct smb_hdr *smb, __u16 mid) { /* Make sure that this really is an SMB, that it is a response, and that the message ids match */ if ((*(__le32 *) smb->Protocol == cpu_to_le32(0x424d53ff)) && (mid == smb->Mid)) { /* does it have the right SMB "signature" ? */ if (*(__le32 *) smb->Protocol != cpu_to_le32(0x424d53ff)) { cERROR(1, "Bad protocol string signature header 0x%x", *(unsigned int *)smb->Protocol); return 1; } /* Make sure that message ids match */ if (mid != smb->Mid) { cERROR(1, "Mids do not match. received=%u expected=%u", smb->Mid, mid); return 1; } /* if it's a response then accept */ if (smb->Flags & SMBFLG_RESPONSE) return 0; else { /* only one valid case where server sends us request */ if (smb->Command == SMB_COM_LOCKING_ANDX) return 0; else cERROR(1, "Received Request not response"); } } else { /* bad signature or mid */ if (*(__le32 *) smb->Protocol != cpu_to_le32(0x424d53ff)) cERROR(1, "Bad protocol string signature header %x", *(unsigned int *) smb->Protocol); if (mid != smb->Mid) cERROR(1, "Mids do not match"); } cERROR(1, "bad smb detected. The Mid=%d", smb->Mid); cERROR(1, "Server sent request, not response. mid=%u", smb->Mid); return 1; } Loading Loading @@ -448,7 +450,7 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length) return 1; } if (checkSMBhdr(smb, mid)) if (check_smb_hdr(smb, mid)) return 1; clc_len = smbCalcSize_LE(smb); Loading