diff options
author | Tomas Mraz <tomas@openssl.org> | 2022-11-03 13:26:22 +0100 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-01-09 08:32:20 +0100 |
commit | 9470c182834d26f9792fade2486e6fb7f8213c7c (patch) | |
tree | 36dbb067351c50b154604291883799dd38a24988 /crypto/bn | |
parent | b21e82f62ac71306b1dfb0e6f24c15e4899668c1 (diff) |
Revert "Fix an occasional CI failure due to unaligned access"
This reverts commit 8511520842b744d1794ea794c032ce5f78cd874b.
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19597)
(cherry picked from commit f83490fb9ce4dd1c09d4f94526fbcad14bd2fd85)
Diffstat (limited to 'crypto/bn')
-rw-r--r-- | crypto/bn/rsaz_exp_x2.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/crypto/bn/rsaz_exp_x2.c b/crypto/bn/rsaz_exp_x2.c index 264a8a9114..95a1380f8f 100644 --- a/crypto/bn/rsaz_exp_x2.c +++ b/crypto/bn/rsaz_exp_x2.c @@ -32,14 +32,6 @@ NON_EMPTY_TRANSLATION_UNIT # define ALIGN64 # endif -# if defined(__GNUC__) -# define ALIGN1 __attribute__((aligned(1))) -# elif defined(_MSC_VER) -# define ALIGN1 __declspec(align(1)) -# else -# define ALIGN1 -# endif - # define ALIGN_OF(ptr, boundary) \ ((unsigned char *)(ptr) + (boundary - (((size_t)(ptr)) & (boundary - 1)))) @@ -55,8 +47,6 @@ NON_EMPTY_TRANSLATION_UNIT # define NUMBER_OF_REGISTERS(digits_num, register_size) \ (((digits_num) * 64 + (register_size) - 1) / (register_size)) -typedef uint64_t ALIGN1 uint64_t_align1; - static ossl_inline uint64_t get_digit(const uint8_t *in, int in_len); static ossl_inline void put_digit(uint8_t *out, int out_len, uint64_t digit); static void to_words52(BN_ULONG *out, int out_len, const BN_ULONG *in, @@ -566,9 +556,9 @@ static void to_words52(BN_ULONG *out, int out_len, in_str = (uint8_t *)in; for (; in_bitsize >= (2 * DIGIT_SIZE); in_bitsize -= (2 * DIGIT_SIZE), out += 2) { - out[0] = (*(uint64_t_align1 *)in_str) & DIGIT_MASK; + out[0] = (*(uint64_t *)in_str) & DIGIT_MASK; in_str += 6; - out[1] = ((*(uint64_t_align1 *)in_str) >> 4) & DIGIT_MASK; + out[1] = ((*(uint64_t *)in_str) >> 4) & DIGIT_MASK; in_str += 7; out_len -= 2; } @@ -627,9 +617,9 @@ static void from_words52(BN_ULONG *out, int out_bitsize, const BN_ULONG *in) for (; out_bitsize >= (2 * DIGIT_SIZE); out_bitsize -= (2 * DIGIT_SIZE), in += 2) { - (*(uint64_t_align1 *)out_str) = in[0]; + (*(uint64_t *)out_str) = in[0]; out_str += 6; - (*(uint64_t_align1 *)out_str) ^= in[1] << 4; + (*(uint64_t *)out_str) ^= in[1] << 4; out_str += 7; } |