crypto: sa2ul - Reduce stack usage

This patch reduces the stack usage in sa2ul:

1. Move the exported sha state into sa_prepare_iopads so that it
can occupy the same space as the k_pad buffer.

2. Use one buffer for ipad/opad in sa_prepare_iopads.

3. Remove ipad/opad buffer from sa_set_sc_auth.

4. Use async skcipher fallback and remove on-stack request from
sa_cipher_run.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: d2c8ac187f ("crypto: sa2ul - Add AEAD algorithm support")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Herbert Xu
2020-10-15 14:31:53 +11:00
parent 633e507fba
commit ad0bb4e4d2
2 changed files with 64 additions and 62 deletions

View File

@@ -12,10 +12,8 @@
#ifndef _K3_SA2UL_
#define _K3_SA2UL_
#include <linux/interrupt.h>
#include <linux/skbuff.h>
#include <linux/hw_random.h>
#include <crypto/aes.h>
#include <crypto/sha.h>
#define SA_ENGINE_ENABLE_CONTROL 0x1000
@@ -311,7 +309,7 @@ struct sa_tfm_ctx {
struct crypto_shash *shash;
/* for fallback */
union {
struct crypto_sync_skcipher *skcipher;
struct crypto_skcipher *skcipher;
struct crypto_ahash *ahash;
struct crypto_aead *aead;
} fallback;