Received: by 2002:a25:b323:0:0:0:0:0 with SMTP id l35csp1230761ybj; Fri, 20 Sep 2019 07:13:55 -0700 (PDT) X-Google-Smtp-Source: APXvYqyCHpUe5iPSKiAh7k7vgBhJXqWdOLqKx1nv0b+B/s9otthWUeC/dULF8Tdv8hJXwrGKw9yN X-Received: by 2002:a50:af26:: with SMTP id g35mr2766769edd.129.1568988834999; Fri, 20 Sep 2019 07:13:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568988834; cv=none; d=google.com; s=arc-20160816; b=T9PbNiioIa5V5Skt1JmDstdFRv2alOfjydLaj9bhWULwOH9RSiw+Cfb0eKFdSMSnNr 80qz6qmG2QJRzWxEbne/huimekaHJDvy+eQO0UTehbkg9R26Cz94rtZNbsc7dtKycouF 8z4cyBZACwLYBTUcQH/lZzug1b+g9ofHcARa0cM3+rQB2SfvI84fSfI3cGlF8uZXFnNS TiBcPfDYt1yzLOgHwH6LwYt/C+KxauZM9aFJel4GnZajV3QCWKklULC2NxHjiTSLtNgF Y07ghWNfdMBfMQLFhU8p7yFS7gCuOE/MLo/FG+5GbFGxWugNOLKpEMydGyFxz0CO+pGy uV+w== 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=UUf0ZUZxe6rb1y1pUWWpfK4QrCxJzbOjYV/quD638Yw=; b=uD+3SNWtYdCOVSgirumejgHRznzFlMAMGK8URAkxianBSQdrGKIEc1QGojcEzE4oM6 5yV4mS2fErEDHIUw8fK6IyeM4w2+B4A7iBC4byAUEWhLY0VcurEg3oz7n6QxyWG1Mk/n rghTxqX5pUqcrSinosdiiAfD9gWxO4QRzYysaECpqfAxmHRIa4pawS8bYOs0DJ0luVKZ ddZvV4fqVIVPK3XcvhNsOg2+29tuCERb/x+1VR3MJxJPUERjm99yPdomkIVlYB/HfgPH 8oyojQOkDft6bwb8WRw7rn45clikgCLOaoXahEr7AoM0pHDG6cNTZ5UD2HiNG0bRr3ct ZSmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ahA3G1TI; 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 e22si1320664ejm.72.2019.09.20.07.13.31; Fri, 20 Sep 2019 07:13:54 -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=ahA3G1TI; 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 S2406643AbfISWTL (ORCPT + 99 others); Thu, 19 Sep 2019 18:19:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:60980 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404569AbfISWTJ (ORCPT ); Thu, 19 Sep 2019 18:19:09 -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 C065D20678; Thu, 19 Sep 2019 22:19:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568931548; bh=dds7yyew+Q7DthIfAXV2F78bppU+YezfeIJzAnwPfVE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ahA3G1TInNGoSiiTYOU1lAml3jlqu3AXeDIbEulZqDxo6lDP/CG346NdUlBeLmMpk eGikHE1Pcoranb/K7OnnXopJPCrb5MigxrJgt8a2Bcnv2F3YQJhmySulJp/nDRwt+f xvbYXCey8/gOujdKRSiRd8T/D/gh5HtrfsiYtM+I= 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.9 26/74] crypto: talitos - check AES key size Date: Fri, 20 Sep 2019 00:03:39 +0200 Message-Id: <20190919214807.377976288@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190919214800.519074117@linuxfoundation.org> References: <20190919214800.519074117@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 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c @@ -1528,6 +1528,18 @@ static int ablkcipher_setkey(struct cryp return 0; } +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) @@ -2621,6 +2633,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 | @@ -2638,6 +2651,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_AESU_CTR_NONSNOOP |