Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp642339ybz; Wed, 22 Apr 2020 05:20:49 -0700 (PDT) X-Google-Smtp-Source: APiQypJbOJ6Gz8z/3ne//jg3jkmrg0BxQELwKKFZDcNzB34Wp/thC4imoPF50FuN581JfPPJgR1v X-Received: by 2002:a17:907:43c2:: with SMTP id i2mr26192348ejs.185.1587558049154; Wed, 22 Apr 2020 05:20:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587558049; cv=none; d=google.com; s=arc-20160816; b=VGxaD7i0lMsHxr+GFMjhVmei1xZ3LQfpD4YceYhIHrjBPNMS2W5VJmvcOfgaY8PGu+ GA79E6ZAw3yKaTAWHcW4JDQcoUtsLWg9Dk6fSBuFuc/5v0MvsohSd8JCyAVo+g+B14Q8 bl/iTZxvunQnJTwRNS+baOx1sEkchpRPLuAetZ5WyJ2rDvjCYSLotMNoZAWHRPmf+IOV hpVOPFnWXwD87g6g3TKkepRTtu6+0DjQhnNgs2SzZnm1wrzD48PiZC8iSj4edlltKVh2 zj+QkbP4I1d3zFeQfg7YGQfj9fya2Pl9CH+Jhd+TWX2YVpK2Z+SrSH0gjOazhUJXZcz7 AdqQ== 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=oVDfTVmLdNeiLWffgDBrVltfEsP5LbaK79azQnnFm38=; b=KiTKoZMxQ4HhtHa1pUYaXGc+rclbymoGtitETF2UkNzxY6sjdURxryMUEFeURxbRjq QxslHt/2Bnd5hQEvbar3wLlB2do7r53QfwMLfscW3JN0jY0AdTlM2bQHDNocAIrIjHKq yfzUMhEpxVa7cwcHH9xG+3SzlY2hMUPdx8SdmJq6xlC0QL4Db+Dh3nSHLSfKDuDDrKPu OL96F8NWx5RjoyBUOnTAO3fabRLRqwmCRYf90YmhtTr+aCookMN8SQ+GO9q+i3N1EKJY 3zfnRJVW0JmoDdyPIc9FF3FqbvVcaS1oChGyABhIdcpoy9N/BzvuoMNyl5ClX5XgEtYX 6qIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dOl2vLIT; 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 d11si3614328edo.105.2020.04.22.05.20.25; Wed, 22 Apr 2020 05:20:49 -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=dOl2vLIT; 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 S1729279AbgDVKMS (ORCPT + 99 others); Wed, 22 Apr 2020 06:12:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:44826 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729293AbgDVKMF (ORCPT ); Wed, 22 Apr 2020 06:12:05 -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 6398E20575; Wed, 22 Apr 2020 10:12:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587550324; bh=LXKQwvFWUniCO3VnH82i0jaIepvlbjO4e0EQ0nwEHtk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dOl2vLITSFs6WEG8TLvNFbqQM3MEYzKH0icHNKG7GxlTpH5x+e+oqp9oxNPnh/71J sJ/o2PzFElkLSOBMT3dnILsw+i18wUoyO1caeHGcfgdModB3LpXNLP2WcXR53M/d4u uIt/4jBaZVE0Oge3o1KKcOBMm/wg5Cq07+uUy/A4= 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 , Sasha Levin Subject: [PATCH 4.14 098/199] crypto: caam - update xts sector size for large input length Date: Wed, 22 Apr 2020 11:57:04 +0200 Message-Id: <20200422095107.769628964@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095057.806111593@linuxfoundation.org> References: <20200422095057.806111593@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 [ Upstream commit 3f142b6a7b573bde6cff926f246da05652c61eb4 ] 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: Sasha Levin --- drivers/crypto/caam/caamalg_desc.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/caam/caamalg_desc.c b/drivers/crypto/caam/caamalg_desc.c index b23c7b72525c0..a3d507fb9ea5a 100644 --- a/drivers/crypto/caam/caamalg_desc.c +++ b/drivers/crypto/caam/caamalg_desc.c @@ -1280,7 +1280,13 @@ EXPORT_SYMBOL(cnstr_shdsc_ablkcipher_givencap); */ void cnstr_shdsc_xts_ablkcipher_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); @@ -1332,7 +1338,13 @@ EXPORT_SYMBOL(cnstr_shdsc_xts_ablkcipher_encap); */ void cnstr_shdsc_xts_ablkcipher_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); -- 2.20.1