git: 1c9b25a5e8b5 - main - cryptosoft: Reuse 'blk' to hold the initial nonce in swcr_gmac.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Dec 2021 22:00:08 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1c9b25a5e8b536905b2a707159986f1a4b37f91c commit 1c9b25a5e8b536905b2a707159986f1a4b37f91c Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2021-12-17 21:58:58 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2021-12-17 21:58:58 +0000 cryptosoft: Reuse 'blk' to hold the initial nonce in swcr_gmac. Reusing the storage removes the need for an additional explicit_bzero. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33526 --- sys/opencrypto/cryptosoft.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/opencrypto/cryptosoft.c b/sys/opencrypto/cryptosoft.c index 6f03902498b1..8d39eec19b88 100644 --- a/sys/opencrypto/cryptosoft.c +++ b/sys/opencrypto/cryptosoft.c @@ -320,7 +320,6 @@ swcr_gmac(const struct swcr_session *ses, struct cryptop *crp) uint32_t blkbuf[howmany(AES_BLOCK_LEN, sizeof(uint32_t))]; u_char *blk = (u_char *)blkbuf; u_char tag[GMAC_DIGEST_LEN]; - u_char iv[AES_BLOCK_LEN]; struct crypto_buffer_cursor cc; const u_char *inblk; union authctx ctx; @@ -345,9 +344,9 @@ swcr_gmac(const struct swcr_session *ses, struct cryptop *crp) /* Initialize the IV */ ivlen = AES_GCM_IV_LEN; - crypto_read_iv(crp, iv); + crypto_read_iv(crp, blk); - axf->Reinit(&ctx, iv, ivlen); + axf->Reinit(&ctx, blk, ivlen); crypto_cursor_init(&cc, &crp->crp_buf); crypto_cursor_advance(&cc, crp->crp_payload_start); for (resid = crp->crp_payload_length; resid >= blksz; resid -= len) { @@ -392,7 +391,6 @@ swcr_gmac(const struct swcr_session *ses, struct cryptop *crp) } explicit_bzero(blkbuf, sizeof(blkbuf)); explicit_bzero(tag, sizeof(tag)); - explicit_bzero(iv, sizeof(iv)); return (error); }