--- a/drivers/crypto/inside-secure/safexcel.h +++ b/drivers/crypto/inside-secure/safexcel.h @@ -743,6 +743,9 @@ struct safexcel_priv_data { /* Priority we use for advertising our algorithms */ #define SAFEXCEL_CRA_PRIORITY 300 +/* System cache line size */ +#define SYSTEM_CACHELINE_SIZE 64 + /* SM3 digest result for zero length message */ #define EIP197_SM3_ZEROM_HASH "\x1A\xB2\x1D\x83\x55\xCF\xA1\x7F" \ "\x8E\x61\x19\x48\x31\xE8\x1A\x8F" \ --- a/drivers/crypto/inside-secure/safexcel_hash.c +++ b/drivers/crypto/inside-secure/safexcel_hash.c @@ -55,9 +55,9 @@ struct safexcel_ahash_req { u8 block_sz; /* block size, only set once */ u8 digest_sz; /* output digest size, only set once */ __le32 state[SHA3_512_BLOCK_SIZE / - sizeof(__le32)] __aligned(sizeof(__le32)); + sizeof(__le32)] __aligned(SYSTEM_CACHELINE_SIZE); - u64 len; + u64 len __aligned(SYSTEM_CACHELINE_SIZE); u64 processed; u8 cache[HASH_CACHE_SIZE] __aligned(sizeof(u32));