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

Commit 43600106 authored by Herbert Xu's avatar Herbert Xu
Browse files

[CRYPTO] digest: Remove unnecessary zeroing during init



Various digest algorithms operate one block at a time and therefore
keep a temporary buffer of partial blocks.  This buffer does not need
to be initialised since there is a counter which indicates what is and
isn't valid in it.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8b55ba03
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -40,19 +40,20 @@ struct crypt_s390_sha1_ctx {
	u8 buffer[2 * SHA1_BLOCK_SIZE];
};

static void
sha1_init(void *ctx)
static void sha1_init(void *ctx_arg) 
{
	static const struct crypt_s390_sha1_ctx initstate = {
		.state = {
	struct crypt_s390_sha1_ctx *ctx = ctx_arg;
	static const u32 initstate[5] = {
		0x67452301,
		0xEFCDAB89,
		0x98BADCFE,
		0x10325476,
		0xC3D2E1F0
		},
	};
	memcpy(ctx, &initstate, sizeof(initstate));

	ctx->count = 0;
	memcpy(ctx->state, &initstate, sizeof(initstate));
	ctx->buf_len = 0;
}

static void
+0 −1
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ static void sha256_init(void *ctx)
	sctx->state[6] = 0x1f83d9ab;
	sctx->state[7] = 0x5be0cd19;
	sctx->count = 0;
	memset(sctx->buf, 0, sizeof(sctx->buf));
}

static void sha256_update(void *ctx, const u8 *data, unsigned int len)
+0 −1
Original line number Diff line number Diff line
@@ -242,7 +242,6 @@ static void sha256_init(void *ctx)
	sctx->state[6] = H6;
	sctx->state[7] = H7;
	sctx->count[0] = sctx->count[1] = 0;
	memset(sctx->buf, 0, sizeof(sctx->buf));
}

static void sha256_update(void *ctx, const u8 *data, unsigned int len)
+0 −2
Original line number Diff line number Diff line
@@ -173,7 +173,6 @@ sha512_init(void *ctx)
	sctx->state[6] = H6;
	sctx->state[7] = H7;
	sctx->count[0] = sctx->count[1] = sctx->count[2] = sctx->count[3] = 0;
	memset(sctx->buf, 0, sizeof(sctx->buf));
}

static void
@@ -189,7 +188,6 @@ sha384_init(void *ctx)
        sctx->state[6] = HP6;
        sctx->state[7] = HP7;
        sctx->count[0] = sctx->count[1] = sctx->count[2] = sctx->count[3] = 0;
        memset(sctx->buf, 0, sizeof(sctx->buf));
}

static void
+0 −1
Original line number Diff line number Diff line
@@ -500,7 +500,6 @@ static void tgr192_init(void *ctx)
{
	struct tgr192_ctx *tctx = ctx;

	memset (tctx->hash, 0, 64);
	tctx->a = 0x0123456789abcdefULL;
	tctx->b = 0xfedcba9876543210ULL;
	tctx->c = 0xf096a5b4c3b2e187ULL;