All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: linux-crypto@vger.kernel.org
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Eric Biggers <ebiggers@google.com>,
	virtualization@lists.linux-foundation.org,
	"David S. Miller" <davem@davemloft.net>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/25] crypto: virtio - deal with unsupported input sizes
Date: Mon, 14 Oct 2019 14:18:47 +0200	[thread overview]
Message-ID: <20191014121910.7264-3-ard.biesheuvel__31822.8367528476$1571056174$gmane$org@linaro.org> (raw)
In-Reply-To: <20191014121910.7264-1-ard.biesheuvel@linaro.org>

Return -EINVAL for input sizes that are not a multiple of the AES
block size, since they are not supported by our CBC chaining mode.

While at it, remove the pr_err() that reports unsupported key sizes
being used: we shouldn't spam the kernel log with that.

Fixes: dbaf0624ffa5 ("crypto: add virtio-crypto driver")
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Gonglei <arei.gonglei@huawei.com>
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 drivers/crypto/virtio/virtio_crypto_algs.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/virtio/virtio_crypto_algs.c b/drivers/crypto/virtio/virtio_crypto_algs.c
index 65ec10800137..82b316b2f537 100644
--- a/drivers/crypto/virtio/virtio_crypto_algs.c
+++ b/drivers/crypto/virtio/virtio_crypto_algs.c
@@ -105,8 +105,6 @@ virtio_crypto_alg_validate_key(int key_len, uint32_t *alg)
 		*alg = VIRTIO_CRYPTO_CIPHER_AES_CBC;
 		break;
 	default:
-		pr_err("virtio_crypto: Unsupported key length: %d\n",
-			key_len);
 		return -EINVAL;
 	}
 	return 0;
@@ -489,6 +487,11 @@ static int virtio_crypto_ablkcipher_encrypt(struct ablkcipher_request *req)
 	/* Use the first data virtqueue as default */
 	struct data_queue *data_vq = &vcrypto->data_vq[0];
 
+	if (!req->nbytes)
+		return 0;
+	if (req->nbytes % AES_BLOCK_SIZE)
+		return -EINVAL;
+
 	vc_req->dataq = data_vq;
 	vc_req->alg_cb = virtio_crypto_dataq_sym_callback;
 	vc_sym_req->ablkcipher_ctx = ctx;
@@ -509,6 +512,11 @@ static int virtio_crypto_ablkcipher_decrypt(struct ablkcipher_request *req)
 	/* Use the first data virtqueue as default */
 	struct data_queue *data_vq = &vcrypto->data_vq[0];
 
+	if (!req->nbytes)
+		return 0;
+	if (req->nbytes % AES_BLOCK_SIZE)
+		return -EINVAL;
+
 	vc_req->dataq = data_vq;
 	vc_req->alg_cb = virtio_crypto_dataq_sym_callback;
 	vc_sym_req->ablkcipher_ctx = ctx;
-- 
2.20.1

  parent reply	other threads:[~2019-10-14 12:18 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-14 12:18 [PATCH 00/25] crypto: convert h/w accelerator driver to skcipher API Ard Biesheuvel
2019-10-14 12:18 ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 01/25] crypto: virtio - implement missing support for output IVs Ard Biesheuvel
2019-10-14 12:18 ` Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 02/25] crypto: virtio - deal with unsupported input sizes Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` Ard Biesheuvel [this message]
2019-10-14 12:18 ` [PATCH 03/25] crypto: virtio - switch to skcipher API Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 04/25] crypto: ccp - switch from ablkcipher to skcipher Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-18 14:15   ` Hook, Gary
2019-10-18 14:15     ` Hook, Gary
2019-10-21 11:54     ` Ard Biesheuvel
2019-10-21 11:54       ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 05/25] crypto: omap - switch to skcipher API Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-15 17:28   ` Tony Lindgren
2019-10-15 17:28     ` Tony Lindgren
2019-10-15 17:28     ` Tony Lindgren
2019-10-17 10:25     ` Tero Kristo
2019-10-17 10:25       ` Tero Kristo
2019-10-17 10:25       ` Tero Kristo
2019-10-17 10:45       ` Ard Biesheuvel
2019-10-17 10:45         ` Ard Biesheuvel
2019-10-17 10:45         ` Ard Biesheuvel
2019-10-17 11:25         ` Tero Kristo
2019-10-17 11:25           ` Tero Kristo
2019-10-17 11:25           ` Tero Kristo
2019-10-17 11:56           ` Ard Biesheuvel
2019-10-17 11:56             ` Ard Biesheuvel
2019-10-17 11:56             ` Ard Biesheuvel
2019-10-17 12:07             ` Tero Kristo
2019-10-17 12:07               ` Tero Kristo
2019-10-17 12:07               ` Tero Kristo
2019-10-14 12:18 ` [PATCH 06/25] crypto: ux500 " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-16 13:01   ` Linus Walleij
2019-10-16 13:01     ` Linus Walleij
2019-10-14 12:18 ` [PATCH 07/25] crypto: s5p " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-17 15:18   ` Kamil Konieczny
2019-10-17 15:18     ` Kamil Konieczny
2019-10-17 15:28     ` Ard Biesheuvel
2019-10-17 15:28       ` Ard Biesheuvel
2019-10-21 10:05   ` Krzysztof Kozlowski
2019-10-21 10:05     ` Krzysztof Kozlowski
2019-10-21 12:00     ` Ard Biesheuvel
2019-10-21 12:00       ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 08/25] crypto: atmel-aes " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-15 10:17   ` Tudor.Ambarus
2019-10-15 10:17     ` Tudor.Ambarus
2019-10-15 10:31     ` Ard Biesheuvel
2019-10-15 10:31       ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 09/25] crypto: atmel-tdes " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 10/25] crypto: bcm-spu " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 11/25] crypto: nitrox - remove cra_type reference to ablkcipher Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 12/25] crypto: cavium/cpt - switch to skcipher API Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 13/25] crypto: chelsio " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:18 ` [PATCH 14/25] crypto: hifn " Ard Biesheuvel
2019-10-14 12:18   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 15/25] crypto: ixp4xx " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-16 13:02   ` Linus Walleij
2019-10-16 13:02     ` Linus Walleij
2019-10-14 12:19 ` [PATCH 16/25] crypto: mxs " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 13:01   ` Shawn Guo
2019-10-14 13:01     ` Shawn Guo
2019-10-16 15:59   ` Horia Geanta
2019-10-16 15:59     ` Horia Geanta
2019-10-14 12:19 ` [PATCH 17/25] crypto: mediatek " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 18/25] crypto: picoxcell " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 19/25] crypto: sahara " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 20/25] crypto: stm32 " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 21/25] crypto: rockchip " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 22/25] crypto: qce " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 23/25] crypto: niagara2 " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 18:08   ` David Miller
2019-10-14 18:08     ` David Miller
2019-10-14 12:19 ` [PATCH 24/25] crypto: talitos " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel
2019-10-14 12:19 ` [PATCH 25/25] crypto: qat " Ard Biesheuvel
2019-10-14 12:19   ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='20191014121910.7264-3-ard.biesheuvel__31822.8367528476$1571056174$gmane$org@linaro.org' \
    --to=ard.biesheuvel@linaro.org \
    --cc=davem@davemloft.net \
    --cc=ebiggers@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.