[CIFS] Workaround MacOS server problem with SMB2.1 write
authorSteve French <smfrench@gmail.com>
Sat, 16 Aug 2014 04:49:01 +0000 (23:49 -0500)
committerSteve French <smfrench@gmail.com>
Sat, 16 Aug 2014 04:49:01 +0000 (23:49 -0500)
commit754789a1c046106cfdb067102642f73e0fd35fb3
treee1c9ea733b2647a868f68eaaff987750adad83bb
parent024408062b21af7316221c420ff16bdaac478fa8
[CIFS] Workaround MacOS server problem with SMB2.1 write
 response

Writes fail to Mac servers with SMB2.1 mounts (works with cifs though) due
to them sending an incorrect RFC1001 length for the SMB2.1 Write response.
Workaround this problem. MacOS server sends a write response with 3 bytes
of pad beyond the end of the SMB itself.  The RFC1001 length is 3 bytes
more than the sum of the SMB2.1 header length + the write reponse.

Incorporate feedback from Jeff and JRA to allow servers to send
a tcp frame that is even more than three bytes too long
(ie much longer than the SMB2/SMB3 request that it contains) but
we do log it once now. In the earlier version of the patch I had
limited how far off the length field could be before we fail the request.

Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/smb2misc.c