| --- a/drivers/crypto/inside-secure/safexcel.h |
| +++ b/drivers/crypto/inside-secure/safexcel.h |
| @@ -722,6 +722,9 @@ enum safexcel_eip_version { |
| /* 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 |
| @@ -57,9 +57,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)); |