Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1680866ybz; Thu, 16 Apr 2020 13:34:13 -0700 (PDT) X-Google-Smtp-Source: APiQypIzKIRXuiKjBiw/vAX3sITk+gX1DrCksO8imh7f7Ir3r1RDVos2kUz6lBCbWLPYiaA7hI9V X-Received: by 2002:a50:cfc6:: with SMTP id i6mr30749edk.314.1587069252829; Thu, 16 Apr 2020 13:34:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587069252; cv=none; d=google.com; s=arc-20160816; b=SxtaF0kAt20hbI7DT9FxFQQJwH2/N4hZ4AjxMccgQyRhLv5aOQMSk1lXYPK90Iso1I jBgCBghrsgK7LEBafSdleYHcGt4YSwLnmyCGcpaIcpZ42YqKRQoTsthIGNGGy/KISdcb Y+QE598hCGVN9hzasUg5LNalcA+y3VtJpqoxrh76RwX2IApV2YjvRvqWUqdlPrIHmG18 JYPxr1CWGjBtSZ/ZpWCQhSHWRf9I63EcwPY8lp2LpaI6zs2Zy76s/zsj/QwuJcJNUMSB pBZsrautKWVkM7/7vFF5r9jqiCXRNQilAqCcqVuBJkv28+UDbYj5zSoHiV64KvAUq0Iu MRWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Y+zn4IxZmcP7fcLyH44V7v6JfLNrw+O9SmyriHFXatE=; b=yLVFnpuLridB+/a0qP+44+9VcJ8ueHDI3zgrhyy+kSWvoz9DzNFbzHC17JX8NlBfwP PnO1DPaCGCTWeY1Tlw7Tpfo0njG7qnSUugb2J/br8LWzCfVbi6s0iSqjIyIvpCjra4ij gB0yp+rXkeKTLeytAAU9nhhuhAuTUwsRtudYm03YQb9zbnbflnSdVyzwBUJPNQMChN6I /typFU4W8Eb0n0i/MOc+2yX7Jnv4JKzgjaHWK7B8J9yUWnLP2qwq20AxBlqgPhWvrFna Copv5UCR8o446ZyBnlsm37oBXLX703U1sqrBzPlWsSzz7ByTCS7b/HiSQfwksjg9jwHX OBXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ixc+HDT3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gx5si9046628ejb.74.2020.04.16.13.33.49; Thu, 16 Apr 2020 13:34:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ixc+HDT3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2395044AbgDPPQM (ORCPT + 99 others); Thu, 16 Apr 2020 11:16:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:35822 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2441511AbgDPNuC (ORCPT ); Thu, 16 Apr 2020 09:50:02 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3F6BE2223D; Thu, 16 Apr 2020 13:49:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587044955; bh=VZ39YWwP05qYCay5b0xukEXzfT7EKSUhftLU/x7SAco=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ixc+HDT3AkBDAzyzI2ZYsPsWZpRyp501fARtxlwDXBt4gjn4HV1Ah8YgPMmkT5dwr h4d6p2DBUJVEWJwzNDM/zeZ4EidYMLyOEthD3loMOGtJnzxmiExF6gBivLTJZZvpA7 /n0mYyXl89qTXvE1fTAL9WkBnKrV1G4UEPYITZok= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andrei Botila , =?UTF-8?q?Horia=20Geant=C4=83?= , Herbert Xu Subject: [PATCH 5.4 169/232] crypto: caam - update xts sector size for large input length Date: Thu, 16 Apr 2020 15:24:23 +0200 Message-Id: <20200416131336.149713965@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200416131316.640996080@linuxfoundation.org> References: <20200416131316.640996080@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andrei Botila commit 3f142b6a7b573bde6cff926f246da05652c61eb4 upstream. Since in the software implementation of XTS-AES there is no notion of sector every input length is processed the same way. CAAM implementation has the notion of sector which causes different results between the software implementation and the one in CAAM for input lengths bigger than 512 bytes. Increase sector size to maximum value on 16 bits. Fixes: c6415a6016bf ("crypto: caam - add support for acipher xts(aes)") Cc: # v4.12+ Signed-off-by: Andrei Botila Reviewed-by: Horia Geantă Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/caam/caamalg_desc.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) --- a/drivers/crypto/caam/caamalg_desc.c +++ b/drivers/crypto/caam/caamalg_desc.c @@ -1524,7 +1524,13 @@ EXPORT_SYMBOL(cnstr_shdsc_skcipher_decap */ void cnstr_shdsc_xts_skcipher_encap(u32 * const desc, struct alginfo *cdata) { - __be64 sector_size = cpu_to_be64(512); + /* + * Set sector size to a big value, practically disabling + * sector size segmentation in xts implementation. We cannot + * take full advantage of this HW feature with existing + * crypto API / dm-crypt SW architecture. + */ + __be64 sector_size = cpu_to_be64(BIT(15)); u32 *key_jump_cmd; init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX); @@ -1577,7 +1583,13 @@ EXPORT_SYMBOL(cnstr_shdsc_xts_skcipher_e */ void cnstr_shdsc_xts_skcipher_decap(u32 * const desc, struct alginfo *cdata) { - __be64 sector_size = cpu_to_be64(512); + /* + * Set sector size to a big value, practically disabling + * sector size segmentation in xts implementation. We cannot + * take full advantage of this HW feature with existing + * crypto API / dm-crypt SW architecture. + */ + __be64 sector_size = cpu_to_be64(BIT(15)); u32 *key_jump_cmd; init_sh_desc(desc, HDR_SHARE_SERIAL | HDR_SAVECTX);