From: Steve French Date: Tue, 13 May 2014 20:37:45 +0000 (-0700) Subject: Do not send ClientGUID on SMB2.02 dialect X-Git-Tag: v3.16-rc1~65^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3c5f9be108783c05cade918d29c8711b236acb1d;p=platform%2Fkernel%2Flinux-exynos.git Do not send ClientGUID on SMB2.02 dialect ClientGUID must be zero for SMB2.02 dialect. See section 2.2.3 of MS-SMB2. For SMB2.1 and later it must be non-zero. Signed-off-by: Steve French CC: Sachin Prabhu --- diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index dc44610..0feb743 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -375,7 +375,12 @@ SMB2_negotiate(const unsigned int xid, struct cifs_ses *ses) req->Capabilities = cpu_to_le32(ses->server->vals->req_capabilities); - memcpy(req->ClientGUID, server->client_guid, SMB2_CLIENT_GUID_SIZE); + /* ClientGUID must be zero for SMB2.02 dialect */ + if (ses->server->vals->protocol_id == SMB20_PROT_ID) + memset(req->ClientGUID, 0, SMB2_CLIENT_GUID_SIZE); + else + memcpy(req->ClientGUID, server->client_guid, + SMB2_CLIENT_GUID_SIZE); iov[0].iov_base = (char *)req; /* 4 for rfc1002 length field */