lkml.org 
[lkml]   [2017]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 116/306] Set previous session id correctly on SMB3 reconnect
    3.16.40-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Steve French <smfrench@gmail.com>

    commit c2afb8147e69819885493edf3a7c1ce03aaf2d4e upstream.

    Signed-off-by: Steve French <steve.french@primarydata.com>
    Reported-by: David Goebel <davidgoe@microsoft.com>
    [bwh: Backported to 3.16: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    fs/cifs/smb2pdu.c | 5 +++++
    fs/cifs/smb2pdu.h | 2 +-
    2 files changed, 6 insertions(+), 1 deletion(-)

    --- a/fs/cifs/smb2pdu.c
    +++ b/fs/cifs/smb2pdu.c
    @@ -566,6 +566,7 @@ SMB2_sess_setup(const unsigned int xid,
    char *security_blob;
    unsigned char *ntlmssp_blob = NULL;
    bool use_spnego = false; /* else use raw ntlmssp */
    + u64 previous_session = ses->Suid;

    cifs_dbg(FYI, "Session Setup\n");

    @@ -602,6 +603,10 @@ ssetup_ntlmssp_authenticate:
    return rc;

    req->hdr.SessionId = 0; /* First session, not a reauthenticate */
    +
    + /* if reconnect, we need to send previous sess id, otherwise it is 0 */
    + req->PreviousSessionId = previous_session;
    +
    req->VcNumber = 0; /* MBZ */
    /* to enable echos and oplocks */
    req->hdr.CreditRequest = cpu_to_le16(3);
    --- a/fs/cifs/smb2pdu.h
    +++ b/fs/cifs/smb2pdu.h
    @@ -245,7 +245,7 @@ struct smb2_sess_setup_req {
    __le32 Channel;
    __le16 SecurityBufferOffset;
    __le16 SecurityBufferLength;
    - __le64 PreviousSessionId;
    + __u64 PreviousSessionId;
    __u8 Buffer[1]; /* variable length GSS security buffer */
    } __packed;

    \
     
     \ /
      Last update: 2017-02-16 00:45    [W:4.598 / U:0.612 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site