Received: by 2002:a25:b323:0:0:0:0:0 with SMTP id l35csp1307692ybj; Fri, 20 Sep 2019 08:23:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqyRfq35Wwlt9/zUijPbNDZBKDn5fiSXfPAH1TKMLnvUZIeQwupkq7U+s0L8gW613uCU8N0V X-Received: by 2002:a17:906:6dd4:: with SMTP id j20mr19746361ejt.173.1568993022185; Fri, 20 Sep 2019 08:23:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568993022; cv=none; d=google.com; s=arc-20160816; b=jd/ovdES4WOHO0X0TCt2E8Oo3BcouXl075CDasZUASLf/PGKUH5yWhrijMtCQ15gW+ ZcU4D039APGdtkszyJ1fRDpqGyNsekvwSLb2qXxCe/BMyLcQWLW2GKO8RyB060TE5ZX3 E+71HYEnGri1RWCbXSKsZICNcRm3bmdYP78A/MSgS3sBiLO5ScUxelNTpsGDqo7chXtm b62lsLRv430rcJ554OUjHVUDmus9J8fVfh1EBoD/rgeCe8fraldtxseJDBJf05nITHpy FqOzuvCSvQdPmhob6fy3e35RIGFmPGzmt+2F++IA0p6KPm1+pmKmSUW8Igh6U0QZCGEz yzLw== 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=j/W8UphV5x6Fn15IIPabtvUptYryPNA8H6H+IsGBF2E=; b=xoMHEZ5OSmfkdJ8Em6K/BT2eAHe3tcnZDlCz69xV57AUIpT++yH9Q2zUIqRRW9C9Jv mZsDxLbCCjIi5YF0Jd2suxkP/FIaWgbpJpk4hizBdljKyjYX5syzMW8RC1mZ7UmoLGI5 5AvJdCMcousH88Zd9OeubjaJLVamJMj4dU0ObdSKMEcew0IIrEpdtANZyBFgBAyvfUaO T0uwAdsS4OY137s7HDnfChWhyR/9Bn9sJkxyBC8nVLshLtETtqmWRxkYczIUEEF1U0Tz SOgN3QPdQVbQ7yIema5DbcacQ9UVTQb8KymiZVjkF9hSzlQZOcunDqj7uTd0jrDkvJfm uK/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xFi9XUgx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h91si1633023edd.270.2019.09.20.08.23.19; Fri, 20 Sep 2019 08:23:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xFi9XUgx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406844AbfISWWZ (ORCPT + 99 others); Thu, 19 Sep 2019 18:22:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:37356 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406823AbfISWWV (ORCPT ); Thu, 19 Sep 2019 18:22:21 -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 2F78920678; Thu, 19 Sep 2019 22:22:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568931740; bh=qaUzJrbO2krp7v7QjlttN0laWS9gRSk4sJUfpoSVS7o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xFi9XUgxJ77rOgmfL+S352gBiIap28s1twhvkcHPKjZ6qvdNS26NuoBXGFY61Jnpu yQIHVi3y4kosciX3e6sAg9rCYI0jRaH7j9Mltegu78gTpmkWDQrF3adQoFZJjxBOoQ N64FJkm3v6AbJew0WX/39/JsFDNKCI5rix7Spws0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christophe Leroy , Herbert Xu Subject: [PATCH 4.4 22/56] crypto: talitos - check AES key size Date: Fri, 20 Sep 2019 00:04:03 +0200 Message-Id: <20190919214754.655329061@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190919214742.483643642@linuxfoundation.org> References: <20190919214742.483643642@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: Christophe Leroy commit 1ba34e71e9e56ac29a52e0d42b6290f3dc5bfd90 upstream. Although the HW accepts any size and silently truncates it to the correct length, the extra tests expects EINVAL to be returned when the key size is not valid. Signed-off-by: Christophe Leroy Fixes: 4de9d0b547b9 ("crypto: talitos - Add ablkcipher algorithms") Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/talitos.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c @@ -1426,6 +1426,18 @@ static void unmap_sg_talitos_ptr(struct } } +static int ablkcipher_aes_setkey(struct crypto_ablkcipher *cipher, + const u8 *key, unsigned int keylen) +{ + if (keylen == AES_KEYSIZE_128 || keylen == AES_KEYSIZE_192 || + keylen == AES_KEYSIZE_256) + return ablkcipher_setkey(cipher, key, keylen); + + crypto_ablkcipher_set_flags(cipher, CRYPTO_TFM_RES_BAD_KEY_LEN); + + return -EINVAL; +} + static void common_nonsnoop_unmap(struct device *dev, struct talitos_edesc *edesc, struct ablkcipher_request *areq) @@ -2379,6 +2391,7 @@ static struct talitos_alg_template drive .min_keysize = AES_MIN_KEY_SIZE, .max_keysize = AES_MAX_KEY_SIZE, .ivsize = AES_BLOCK_SIZE, + .setkey = ablkcipher_aes_setkey, } }, .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |