aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/gf128mul.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/gf128mul.c')
-rw-r--r--crypto/gf128mul.c11
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
145void 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}
154EXPORT_SYMBOL(gf128mul_x_ble);
155
145static void gf128mul_x8_lle(be128 *x) 156static void gf128mul_x8_lle(be128 *x)
146{ 157{
147 u64 a = be64_to_cpu(x->a); 158 u64 a = be64_to_cpu(x->a);