Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 662f70ed authored by Horia Geantă's avatar Horia Geantă Committed by Herbert Xu
Browse files

crypto: caam - remove needless ablkcipher key copy



ablkcipher shared descriptors are relatively small, thus there is enough
space for the key to be inlined.
Accordingly, there is no need to copy the key in ctx->key.

Signed-off-by: default avatarHoria Geantă <horia.geanta@nxp.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 6674a4fd
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -625,7 +625,6 @@ static int ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher,
	const bool is_rfc3686 = (ctr_mode &&
				 (strstr(alg_name, "rfc3686") != NULL));

	memcpy(ctx->key, key, keylen);
#ifdef DEBUG
	print_hex_dump(KERN_ERR, "key in @"__stringify(__LINE__)": ",
		       DUMP_PREFIX_ADDRESS, 16, 4, key, keylen, 1);
@@ -648,9 +647,8 @@ static int ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher,
		keylen -= CTR_RFC3686_NONCE_SIZE;
	}

	dma_sync_single_for_device(jrdev, ctx->key_dma, keylen, DMA_TO_DEVICE);
	ctx->cdata.keylen = keylen;
	ctx->cdata.key_virt = ctx->key;
	ctx->cdata.key_virt = key;
	ctx->cdata.key_inline = true;

	/* ablkcipher_encrypt shared descriptor */
@@ -691,10 +689,8 @@ static int xts_ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher,
		return -EINVAL;
	}

	memcpy(ctx->key, key, keylen);
	dma_sync_single_for_device(jrdev, ctx->key_dma, keylen, DMA_TO_DEVICE);
	ctx->cdata.keylen = keylen;
	ctx->cdata.key_virt = ctx->key;
	ctx->cdata.key_virt = key;
	ctx->cdata.key_inline = true;

	/* xts_ablkcipher_encrypt shared descriptor */
+2 −6
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ static int ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher,
	const bool is_rfc3686 = (ctr_mode && strstr(alg_name, "rfc3686"));
	int ret = 0;

	memcpy(ctx->key, key, keylen);
#ifdef DEBUG
	print_hex_dump(KERN_ERR, "key in @" __stringify(__LINE__)": ",
		       DUMP_PREFIX_ADDRESS, 16, 4, key, keylen, 1);
@@ -295,9 +294,8 @@ static int ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher,
		keylen -= CTR_RFC3686_NONCE_SIZE;
	}

	dma_sync_single_for_device(jrdev, ctx->key_dma, keylen, DMA_TO_DEVICE);
	ctx->cdata.keylen = keylen;
	ctx->cdata.key_virt = ctx->key;
	ctx->cdata.key_virt = key;
	ctx->cdata.key_inline = true;

	/* ablkcipher encrypt, decrypt, givencrypt shared descriptors */
@@ -356,10 +354,8 @@ static int xts_ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher,
		return -EINVAL;
	}

	memcpy(ctx->key, key, keylen);
	dma_sync_single_for_device(jrdev, ctx->key_dma, keylen, DMA_TO_DEVICE);
	ctx->cdata.keylen = keylen;
	ctx->cdata.key_virt = ctx->key;
	ctx->cdata.key_virt = key;
	ctx->cdata.key_inline = true;

	/* xts ablkcipher encrypt, decrypt shared descriptors */