• David Disseldorp's avatar
    ksmbd: remove unused compression negotiate ctx packing · af36c51e
    David Disseldorp authored
    build_compression_ctxt() is currently unreachable due to
    conn.compress_algorithm remaining zero (SMB3_COMPRESS_NONE).
    
    It appears to have been broken in a couple of subtle ways over the
    years:
    - prior to d6c9ad23 ("ksmbd: use the common definitions for
      NEGOTIATE_PROTOCOL") smb2_compression_ctx.DataLength was set to 8,
      which didn't account for the single CompressionAlgorithms flexible
      array member.
    - post d6c9ad23 smb2_compression_capabilities_context
      CompressionAlgorithms is a three member array, while
      CompressionAlgorithmCount is set to indicate only one member.
      assemble_neg_contexts() ctxt_size is also incorrectly incremented by
      sizeof(struct smb2_compression_capabilities_context) + 2, which
      assumes one flexible array member.
    Signed-off-by: default avatarDavid Disseldorp <ddiss@suse.de>
    Acked-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    af36c51e
smb2pdu.c 231 KB