[PATCH 1/2] crypto: blake2b - use memcpy_and_pad in __blake2b_init

From: Thorsten Blum

Date: Tue Apr 14 2026 - 11:54:05 EST


Use memcpy_and_pad() instead of memcpy() followed by memset() to
simplify __blake2b_init(). Use sizeof(ctx->buf) instead of the macro
BLAKE2B_BLOCK_SIZE.

Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
---
include/crypto/blake2b.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/crypto/blake2b.h b/include/crypto/blake2b.h
index 3bc37fd103a7..a7a6440bd784 100644
--- a/include/crypto/blake2b.h
+++ b/include/crypto/blake2b.h
@@ -66,9 +66,8 @@ static inline void __blake2b_init(struct blake2b_ctx *ctx, size_t outlen,
ctx->buflen = 0;
ctx->outlen = outlen;
if (keylen) {
- memcpy(ctx->buf, key, keylen);
- memset(&ctx->buf[keylen], 0, BLAKE2B_BLOCK_SIZE - keylen);
- ctx->buflen = BLAKE2B_BLOCK_SIZE;
+ memcpy_and_pad(ctx->buf, sizeof(ctx->buf), key, keylen, 0);
+ ctx->buflen = sizeof(ctx->buf);
}
}