lkml.org 
[lkml]   [2018]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 021/115] cifs: check if SMB2 PDU size has been padded and suppress the warning
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

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

    From: Ronnie Sahlberg <lsahlber@redhat.com>

    [ Upstream commit e6c47dd0da1e3a484e778046fc10da0b20606a86 ]

    Some SMB2/3 servers, Win2016 but possibly others too, adds padding
    not only between PDUs in a compound but also to the final PDU.
    This padding extends the PDU to a multiple of 8 bytes.

    Check if the unexpected length looks like this might be the case
    and avoid triggering the log messages for :

    "SMB2 server sent bad RFC1001 len %d not %d\n"

    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/cifs/smb2misc.c | 7 +++++++
    1 file changed, 7 insertions(+)

    --- a/fs/cifs/smb2misc.c
    +++ b/fs/cifs/smb2misc.c
    @@ -212,6 +212,13 @@ smb2_check_message(char *buf, unsigned i
    return 0;

    /*
    + * Some windows servers (win2016) will pad also the final
    + * PDU in a compound to 8 bytes.
    + */
    + if (((clc_len + 7) & ~7) == len)
    + return 0;
    +
    + /*
    * MacOS server pads after SMB2.1 write response with 3 bytes
    * of junk. Other servers match RFC1001 len to actual
    * SMB2/SMB3 frame length (header + smb2 response specific data)

    \
     
     \ /
      Last update: 2018-09-13 16:14    [W:3.994 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site