2020-09-01 07:09:13 +00:00
|
|
|
--- a/drivers/crypto/inside-secure/safexcel.h
|
|
|
|
+++ b/drivers/crypto/inside-secure/safexcel.h
|
2020-09-05 17:43:41 +00:00
|
|
|
@@ -722,6 +722,9 @@ enum safexcel_eip_version {
|
2020-09-01 07:09:13 +00:00
|
|
|
/* 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
|
2020-09-05 17:43:41 +00:00
|
|
|
@@ -57,9 +57,9 @@ struct safexcel_ahash_req {
|
2020-09-01 07:09:13 +00:00
|
|
|
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));
|