diff --git a/drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c b/drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c index fdda04672454..33e8e887a415 100644 --- a/drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c +++ b/drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c @@ -707,8 +707,7 @@ static int register_chain_var(struct crypto_tfm *tfm, u8 xpad, u32 target, return -EAGAIN; } - memcpy(pad, key, key_len); - memset(pad + key_len, 0, HMAC_PAD_BLOCKLEN - key_len); + memcpy_and_pad(pad, HMAC_PAD_BLOCKLEN, key, key_len, 0); for (i = 0; i < HMAC_PAD_BLOCKLEN; i++) pad[i] ^= xpad;