Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: ccp - Use new AES library API

Switch from the old AES library functions (which use struct
crypto_aes_ctx) to the new ones (which use struct aes_enckey). This
eliminates the unnecessary computation and caching of the decryption
round keys. The new AES en/decryption functions are also much faster
and use AES instructions when supported by the CPU.

Note that in addition to the change in the key preparation function and
the key struct type itself, the change in the type of the key struct
results in aes_encrypt() (which is temporarily a type-generic macro)
calling the new encryption function rather than the old one.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20260112192035.10427-27-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>

+2 -2
+2 -2
drivers/crypto/ccp/ccp-crypto-aes-cmac.c
··· 261 261 ccp_crypto_ahash_alg(crypto_ahash_tfm(tfm)); 262 262 u64 k0_hi, k0_lo, k1_hi, k1_lo, k2_hi, k2_lo; 263 263 u64 rb_hi = 0x00, rb_lo = 0x87; 264 - struct crypto_aes_ctx aes; 264 + struct aes_enckey aes; 265 265 __be64 *gk; 266 266 int ret; 267 267 ··· 284 284 ctx->u.aes.key_len = 0; 285 285 286 286 /* Set the key for the AES cipher used to generate the keys */ 287 - ret = aes_expandkey(&aes, key, key_len); 287 + ret = aes_prepareenckey(&aes, key, key_len); 288 288 if (ret) 289 289 return ret; 290 290