• N
    smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl · ebf57440
    Namjae Jeon 提交于
    Some of tests in xfstests failed with cifsd kernel server since commit
    e80ddeb2. cifsd kernel server validates credit charge from client
    by calculating it base on max((InputCount + OutputCount) and
    (MaxInputResponse + MaxOutputResponse)) according to specification.
    
    MS-SMB2 specification describe credit charge calculation of smb2 ioctl :
    
    If Connection.SupportsMultiCredit is TRUE, the server MUST validate
    CreditCharge based on the maximum of (InputCount + OutputCount) and
    (MaxInputResponse + MaxOutputResponse), as specified in section 3.3.5.2.5.
    If the validation fails, it MUST fail the IOCTL request with
    STATUS_INVALID_PARAMETER.
    
    This patch add indatalen that can be a non-zero value to calculation of
    credit charge in SMB2_ioctl_init().
    
    Fixes: e80ddeb2 ("smb3: fix incorrect number of credits when ioctl
    MaxOutputResponse > 64K")
    Cc: Stable <stable@vger.kernel.org>
    Reviewed-by: NAurelien Aptel <aaptel@suse.com>
    Cc: Steve French <smfrench@gmail.com>
    Signed-off-by: NNamjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: NSteve French <stfrench@microsoft.com>
    ebf57440
smb2pdu.c 147.8 KB