• Paulo Alcantara's avatar
    cifs: skip extra NULL byte in filenames · a1d2eb51
    Paulo Alcantara authored
    Since commit:
     cifs: alloc_path_with_tree_prefix: do not append sep. if the path is empty
    alloc_path_with_tree_prefix() function was no longer including the
    trailing separator when @path is empty, although @out_len was still
    assuming a path separator thus adding an extra byte to the final
    filename.
    
    This has caused mount issues in some Synology servers due to the extra
    NULL byte in filenames when sending SMB2_CREATE requests with
    SMB2_FLAGS_DFS_OPERATIONS set.
    
    Fix this by checking if @path is not empty and then add extra byte for
    separator.  Also, do not include any trailing NULL bytes in filename
    as MS-SMB2 requires it to be 8-byte aligned and not NULL terminated.
    
    Cc: stable@vger.kernel.org
    Fixes: 7eacba3b ("cifs: alloc_path_with_tree_prefix: do not append sep. if the path is empty")
    Signed-off-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    a1d2eb51
smb2pdu.c 156 KB