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: aes_encrypt_new() will be renamed to aes_encrypt() once all
callers of the old aes_encrypt() have been updated.
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
---
drivers/net/phy/mscc/mscc_macsec.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/mscc/mscc_macsec.c b/drivers/net/phy/mscc/mscc_macsec.c
index 4f39ba63a9a9..bcb7f5a4a8fd 100644
--- a/drivers/net/phy/mscc/mscc_macsec.c
+++ b/drivers/net/phy/mscc/mscc_macsec.c
@@ -502,19 +502,19 @@ static u32 vsc8584_macsec_flow_context_id(struct macsec_flow *flow)
/* Derive the AES key to get a key for the hash autentication */
static int vsc8584_macsec_derive_key(const u8 *key, u16 key_len, u8 hkey[16])
{
const u8 input[AES_BLOCK_SIZE] = {0};
- struct crypto_aes_ctx ctx;
+ struct aes_enckey aes;
int ret;
- ret = aes_expandkey(&ctx, key, key_len);
+ ret = aes_prepareenckey(&aes, key, key_len);
if (ret)
return ret;
- aes_encrypt(&ctx, hkey, input);
- memzero_explicit(&ctx, sizeof(ctx));
+ aes_encrypt_new(&aes, hkey, input);
+ memzero_explicit(&aes, sizeof(aes));
return 0;
}
static int vsc8584_macsec_transformation(struct phy_device *phydev,
struct macsec_flow *flow,
--
2.52.0