lkml.org 
[lkml]   [2014]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 021/181] Do not send ClientGUID on SMB2.02 dialect
    Date
    From: Steve French <smfrench@gmail.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 3c5f9be108783c05cade918d29c8711b236acb1d upstream.

    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 <smfrench@gmail.com>
    CC: Sachin Prabhu <sprabhu@redhat.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    fs/cifs/smb2pdu.c | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
    index 37de258d9a34..5818d2ca66f1 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 */
    --
    2.0.0


    \
     
     \ /
      Last update: 2014-06-30 15:21    [W:3.924 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site