Commit 6d0ee3b6 authored by Eric Biggers's avatar Eric Biggers Committed by Mike Snitzer
Browse files

dm crypt: use crypto_shash_digest() in crypt_iv_tcw_whitening()



Simplify crypt_iv_tcw_whitening() by using crypto_shash_digest() instead
of an init+update+final sequence.  This should also improve performance.

Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
parent a9511043
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -652,13 +652,7 @@ static int crypt_iv_tcw_whitening(struct crypt_config *cc,
	/* calculate crc32 for every 32bit part and xor it */
	desc->tfm = tcw->crc32_tfm;
	for (i = 0; i < 4; i++) {
		r = crypto_shash_init(desc);
		if (r)
			goto out;
		r = crypto_shash_update(desc, &buf[i * 4], 4);
		if (r)
			goto out;
		r = crypto_shash_final(desc, &buf[i * 4]);
		r = crypto_shash_digest(desc, &buf[i * 4], 4, &buf[i * 4]);
		if (r)
			goto out;
	}