diff options
| -rw-r--r-- | fs/cifs/smb2pdu.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index dc44610fdc0d..0feb743894b8 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) | |||
| 375 | 375 | ||
| 376 | req->Capabilities = cpu_to_le32(ses->server->vals->req_capabilities); | 376 | req->Capabilities = cpu_to_le32(ses->server->vals->req_capabilities); |
| 377 | 377 | ||
| 378 | memcpy(req->ClientGUID, server->client_guid, SMB2_CLIENT_GUID_SIZE); | 378 | /* ClientGUID must be zero for SMB2.02 dialect */ |
| 379 | if (ses->server->vals->protocol_id == SMB20_PROT_ID) | ||
| 380 | memset(req->ClientGUID, 0, SMB2_CLIENT_GUID_SIZE); | ||
| 381 | else | ||
| 382 | memcpy(req->ClientGUID, server->client_guid, | ||
| 383 | SMB2_CLIENT_GUID_SIZE); | ||
| 379 | 384 | ||
| 380 | iov[0].iov_base = (char *)req; | 385 | iov[0].iov_base = (char *)req; |
| 381 | /* 4 for rfc1002 length field */ | 386 | /* 4 for rfc1002 length field */ |
