diff options
Diffstat (limited to 'crypto/gf128mul.c')
-rw-r--r-- | crypto/gf128mul.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/gf128mul.c b/crypto/gf128mul.c index 0a2aadfa1d85..ecbeaa1f17e1 100644 --- a/crypto/gf128mul.c +++ b/crypto/gf128mul.c | |||
@@ -142,6 +142,17 @@ static void gf128mul_x_bbe(be128 *r, const be128 *x) | |||
142 | r->b = cpu_to_be64((b << 1) ^ _tt); | 142 | r->b = cpu_to_be64((b << 1) ^ _tt); |
143 | } | 143 | } |
144 | 144 | ||
145 | void gf128mul_x_ble(be128 *r, const be128 *x) | ||
146 | { | ||
147 | u64 a = le64_to_cpu(x->a); | ||
148 | u64 b = le64_to_cpu(x->b); | ||
149 | u64 _tt = gf128mul_table_bbe[b >> 63]; | ||
150 | |||
151 | r->a = cpu_to_le64((a << 1) ^ _tt); | ||
152 | r->b = cpu_to_le64((b << 1) | (a >> 63)); | ||
153 | } | ||
154 | EXPORT_SYMBOL(gf128mul_x_ble); | ||
155 | |||
145 | static void gf128mul_x8_lle(be128 *x) | 156 | static void gf128mul_x8_lle(be128 *x) |
146 | { | 157 | { |
147 | u64 a = be64_to_cpu(x->a); | 158 | u64 a = be64_to_cpu(x->a); |