aboutsummaryrefslogtreecommitdiff
path: root/drivers/builtin_openssl2/crypto/bn
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/README (renamed from drivers/builtin_openssl/crypto/bn/asm/README)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/alpha-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/alpha-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/armv4-gf2m.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/armv4-gf2m.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/armv4-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/armv4-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/bn-586.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/bn-586.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/co-586.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/co-586.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/ia64-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/ia64-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/ia64.S (renamed from drivers/builtin_openssl/crypto/bn/asm/ia64.S)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/mips-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/mips-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/mips.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/mips.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/mips3-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/mips3-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/mips3.s (renamed from drivers/builtin_openssl/crypto/bn/asm/mips3.s)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/modexp512-x86_64.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/modexp512-x86_64.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/pa-risc2.s (renamed from drivers/builtin_openssl/crypto/bn/asm/pa-risc2.s)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/pa-risc2W.s (renamed from drivers/builtin_openssl/crypto/bn/asm/pa-risc2W.s)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/parisc-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/parisc-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/ppc-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/ppc-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/ppc.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/ppc.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/ppc64-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/ppc64-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/s390x-gf2m.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/s390x-gf2m.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/s390x-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/s390x-mont.pl)0
-rwxr-xr-xdrivers/builtin_openssl2/crypto/bn/asm/s390x.S (renamed from drivers/builtin_openssl/crypto/bn/asm/s390x.S)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/sparcv8.S (renamed from drivers/builtin_openssl/crypto/bn/asm/sparcv8.S)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/sparcv8plus.S (renamed from drivers/builtin_openssl/crypto/bn/asm/sparcv8plus.S)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/sparcv9-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/sparcv9-mont.pl)0
-rwxr-xr-xdrivers/builtin_openssl2/crypto/bn/asm/sparcv9a-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/sparcv9a-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/via-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/via-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/vms.mar (renamed from drivers/builtin_openssl/crypto/bn/asm/vms.mar)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86-gf2m.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86-gf2m.pl)0
-rwxr-xr-xdrivers/builtin_openssl2/crypto/bn/asm/x86-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86-mont.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/add.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/add.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/comba.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/comba.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/div.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/div.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/f (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/f)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/mul.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/mul.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/mul_add.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/mul_add.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/sqr.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/sqr.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86/sub.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86/sub.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86_64-gcc.c (renamed from drivers/builtin_openssl/crypto/bn/asm/x86_64-gcc.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/asm/x86_64-gf2m.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86_64-gf2m.pl)0
-rwxr-xr-xdrivers/builtin_openssl2/crypto/bn/asm/x86_64-mont.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86_64-mont.pl)0
-rwxr-xr-xdrivers/builtin_openssl2/crypto/bn/asm/x86_64-mont5.pl (renamed from drivers/builtin_openssl/crypto/bn/asm/x86_64-mont5.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn.mul (renamed from drivers/builtin_openssl/crypto/bn/bn.mul)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_add.c (renamed from drivers/builtin_openssl/crypto/bn/bn_add.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_asm.c (renamed from drivers/builtin_openssl/crypto/bn/bn_asm.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_blind.c (renamed from drivers/builtin_openssl/crypto/bn/bn_blind.c)0
-rwxr-xr-xdrivers/builtin_openssl2/crypto/bn/bn_const.c (renamed from drivers/builtin_openssl/crypto/bn/bn_const.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_ctx.c (renamed from drivers/builtin_openssl/crypto/bn/bn_ctx.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_depr.c (renamed from drivers/builtin_openssl/crypto/bn/bn_depr.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_div.c (renamed from drivers/builtin_openssl/crypto/bn/bn_div.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_err.c (renamed from drivers/builtin_openssl/crypto/bn/bn_err.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_exp.c (renamed from drivers/builtin_openssl/crypto/bn/bn_exp.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_exp2.c (renamed from drivers/builtin_openssl/crypto/bn/bn_exp2.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_gcd.c (renamed from drivers/builtin_openssl/crypto/bn/bn_gcd.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_gf2m.c (renamed from drivers/builtin_openssl/crypto/bn/bn_gf2m.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_kron.c (renamed from drivers/builtin_openssl/crypto/bn/bn_kron.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_lcl.h (renamed from drivers/builtin_openssl/crypto/bn/bn_lcl.h)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_lib.c (renamed from drivers/builtin_openssl/crypto/bn/bn_lib.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_mod.c (renamed from drivers/builtin_openssl/crypto/bn/bn_mod.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_mont.c (renamed from drivers/builtin_openssl/crypto/bn/bn_mont.c)46
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_mpi.c (renamed from drivers/builtin_openssl/crypto/bn/bn_mpi.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_mul.c (renamed from drivers/builtin_openssl/crypto/bn/bn_mul.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_nist.c (renamed from drivers/builtin_openssl/crypto/bn/bn_nist.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_prime.c (renamed from drivers/builtin_openssl/crypto/bn/bn_prime.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_prime.h (renamed from drivers/builtin_openssl/crypto/bn/bn_prime.h)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_prime.pl (renamed from drivers/builtin_openssl/crypto/bn/bn_prime.pl)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_print.c (renamed from drivers/builtin_openssl/crypto/bn/bn_print.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_rand.c (renamed from drivers/builtin_openssl/crypto/bn/bn_rand.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_recp.c (renamed from drivers/builtin_openssl/crypto/bn/bn_recp.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_shift.c (renamed from drivers/builtin_openssl/crypto/bn/bn_shift.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_sqr.c (renamed from drivers/builtin_openssl/crypto/bn/bn_sqr.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_sqrt.c (renamed from drivers/builtin_openssl/crypto/bn/bn_sqrt.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_word.c (renamed from drivers/builtin_openssl/crypto/bn/bn_word.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bn_x931p.c (renamed from drivers/builtin_openssl/crypto/bn/bn_x931p.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bnspeed.c (renamed from drivers/builtin_openssl/crypto/bn/bnspeed.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/bntest.c (renamed from drivers/builtin_openssl/crypto/bn/bntest.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/divtest.c (renamed from drivers/builtin_openssl/crypto/bn/divtest.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/exp.c (renamed from drivers/builtin_openssl/crypto/bn/exp.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/expspeed.c (renamed from drivers/builtin_openssl/crypto/bn/expspeed.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/exptest.c (renamed from drivers/builtin_openssl/crypto/bn/exptest.c)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/todo (renamed from drivers/builtin_openssl/crypto/bn/todo)0
-rw-r--r--drivers/builtin_openssl2/crypto/bn/vms-helper.c (renamed from drivers/builtin_openssl/crypto/bn/vms-helper.c)0
83 files changed, 26 insertions, 20 deletions
diff --git a/drivers/builtin_openssl/crypto/bn/asm/README b/drivers/builtin_openssl2/crypto/bn/asm/README
index b0f3a68a0..b0f3a68a0 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/README
+++ b/drivers/builtin_openssl2/crypto/bn/asm/README
diff --git a/drivers/builtin_openssl/crypto/bn/asm/alpha-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/alpha-mont.pl
index 03596e201..03596e201 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/alpha-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/alpha-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/armv4-gf2m.pl b/drivers/builtin_openssl2/crypto/bn/asm/armv4-gf2m.pl
index c52e0b75b..c52e0b75b 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/armv4-gf2m.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/armv4-gf2m.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/armv4-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/armv4-mont.pl
index f78a8b5f0..f78a8b5f0 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/armv4-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/armv4-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/bn-586.pl b/drivers/builtin_openssl2/crypto/bn/asm/bn-586.pl
index 332ef3e91..332ef3e91 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/bn-586.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/bn-586.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/co-586.pl b/drivers/builtin_openssl2/crypto/bn/asm/co-586.pl
index 57101a6bd..57101a6bd 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/co-586.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/co-586.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/ia64-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/ia64-mont.pl
index e25865842..e25865842 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/ia64-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/ia64-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/ia64.S b/drivers/builtin_openssl2/crypto/bn/asm/ia64.S
index 951abc53e..951abc53e 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/ia64.S
+++ b/drivers/builtin_openssl2/crypto/bn/asm/ia64.S
diff --git a/drivers/builtin_openssl/crypto/bn/asm/mips-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/mips-mont.pl
index caae04ed3..caae04ed3 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/mips-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/mips-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/mips.pl b/drivers/builtin_openssl2/crypto/bn/asm/mips.pl
index d2f3ef7bb..d2f3ef7bb 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/mips.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/mips.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/mips3-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/mips3-mont.pl
index 8f9156e02..8f9156e02 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/mips3-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/mips3-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/mips3.s b/drivers/builtin_openssl2/crypto/bn/asm/mips3.s
index dca4105c7..dca4105c7 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/mips3.s
+++ b/drivers/builtin_openssl2/crypto/bn/asm/mips3.s
diff --git a/drivers/builtin_openssl/crypto/bn/asm/modexp512-x86_64.pl b/drivers/builtin_openssl2/crypto/bn/asm/modexp512-x86_64.pl
index bfd6e9754..bfd6e9754 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/modexp512-x86_64.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/modexp512-x86_64.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/pa-risc2.s b/drivers/builtin_openssl2/crypto/bn/asm/pa-risc2.s
index f3b16290e..f3b16290e 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/pa-risc2.s
+++ b/drivers/builtin_openssl2/crypto/bn/asm/pa-risc2.s
diff --git a/drivers/builtin_openssl/crypto/bn/asm/pa-risc2W.s b/drivers/builtin_openssl2/crypto/bn/asm/pa-risc2W.s
index a99545754..a99545754 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/pa-risc2W.s
+++ b/drivers/builtin_openssl2/crypto/bn/asm/pa-risc2W.s
diff --git a/drivers/builtin_openssl/crypto/bn/asm/parisc-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/parisc-mont.pl
index c02ef6f01..c02ef6f01 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/parisc-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/parisc-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/ppc-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/ppc-mont.pl
index f9b6992cc..f9b6992cc 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/ppc-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/ppc-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/ppc.pl b/drivers/builtin_openssl2/crypto/bn/asm/ppc.pl
index 1249ce229..1249ce229 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/ppc.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/ppc.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/ppc64-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/ppc64-mont.pl
index a14e769ad..a14e769ad 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/ppc64-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/ppc64-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/s390x-gf2m.pl b/drivers/builtin_openssl2/crypto/bn/asm/s390x-gf2m.pl
index cd9f13eca..cd9f13eca 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/s390x-gf2m.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/s390x-gf2m.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/s390x-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/s390x-mont.pl
index 9fd64e81e..9fd64e81e 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/s390x-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/s390x-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/s390x.S b/drivers/builtin_openssl2/crypto/bn/asm/s390x.S
index 43fcb79bc..43fcb79bc 100755
--- a/drivers/builtin_openssl/crypto/bn/asm/s390x.S
+++ b/drivers/builtin_openssl2/crypto/bn/asm/s390x.S
diff --git a/drivers/builtin_openssl/crypto/bn/asm/sparcv8.S b/drivers/builtin_openssl2/crypto/bn/asm/sparcv8.S
index 88c5dc480..88c5dc480 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/sparcv8.S
+++ b/drivers/builtin_openssl2/crypto/bn/asm/sparcv8.S
diff --git a/drivers/builtin_openssl/crypto/bn/asm/sparcv8plus.S b/drivers/builtin_openssl2/crypto/bn/asm/sparcv8plus.S
index 63de1860f..63de1860f 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/sparcv8plus.S
+++ b/drivers/builtin_openssl2/crypto/bn/asm/sparcv8plus.S
diff --git a/drivers/builtin_openssl/crypto/bn/asm/sparcv9-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/sparcv9-mont.pl
index b8fb1e8a2..b8fb1e8a2 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/sparcv9-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/sparcv9-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/sparcv9a-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/sparcv9a-mont.pl
index a14205f2f..a14205f2f 100755
--- a/drivers/builtin_openssl/crypto/bn/asm/sparcv9a-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/sparcv9a-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/via-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/via-mont.pl
index c046a514c..c046a514c 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/via-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/via-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/vms.mar b/drivers/builtin_openssl2/crypto/bn/asm/vms.mar
index aefab15cd..aefab15cd 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/vms.mar
+++ b/drivers/builtin_openssl2/crypto/bn/asm/vms.mar
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86-gf2m.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86-gf2m.pl
index 808a1e596..808a1e596 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86-gf2m.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86-gf2m.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86-mont.pl
index e8f6b0508..e8f6b0508 100755
--- a/drivers/builtin_openssl/crypto/bn/asm/x86-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86.pl
index 1bc4f1bb2..1bc4f1bb2 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/add.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/add.pl
index 0b5cf583e..0b5cf583e 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/add.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/add.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/comba.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/comba.pl
index 229125362..229125362 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/comba.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/comba.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/div.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/div.pl
index 0e90152ca..0e90152ca 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/div.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/div.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/f b/drivers/builtin_openssl2/crypto/bn/asm/x86/f
index 22e411222..22e411222 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/f
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/f
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/mul.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/mul.pl
index 674cb9b05..674cb9b05 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/mul.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/mul.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/mul_add.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/mul_add.pl
index 61830d3a9..61830d3a9 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/mul_add.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/mul_add.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/sqr.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/sqr.pl
index 1f90993cf..1f90993cf 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/sqr.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/sqr.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86/sub.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86/sub.pl
index 837b0e1b0..837b0e1b0 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86/sub.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86/sub.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86_64-gcc.c b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-gcc.c
index acb0b4011..acb0b4011 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86_64-gcc.c
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-gcc.c
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86_64-gf2m.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-gf2m.pl
index 226c66c35..226c66c35 100644
--- a/drivers/builtin_openssl/crypto/bn/asm/x86_64-gf2m.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-gf2m.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86_64-mont.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-mont.pl
index 17fb94c84..17fb94c84 100755
--- a/drivers/builtin_openssl/crypto/bn/asm/x86_64-mont.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-mont.pl
diff --git a/drivers/builtin_openssl/crypto/bn/asm/x86_64-mont5.pl b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-mont5.pl
index dae0fe245..dae0fe245 100755
--- a/drivers/builtin_openssl/crypto/bn/asm/x86_64-mont5.pl
+++ b/drivers/builtin_openssl2/crypto/bn/asm/x86_64-mont5.pl
diff --git a/drivers/builtin_openssl/crypto/bn/bn.mul b/drivers/builtin_openssl2/crypto/bn/bn.mul
index 9728870d3..9728870d3 100644
--- a/drivers/builtin_openssl/crypto/bn/bn.mul
+++ b/drivers/builtin_openssl2/crypto/bn/bn.mul
diff --git a/drivers/builtin_openssl/crypto/bn/bn_add.c b/drivers/builtin_openssl2/crypto/bn/bn_add.c
index 940516370..940516370 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_add.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_add.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_asm.c b/drivers/builtin_openssl2/crypto/bn/bn_asm.c
index c43c91cc0..c43c91cc0 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_asm.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_asm.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_blind.c b/drivers/builtin_openssl2/crypto/bn/bn_blind.c
index 9ed8bc2b4..9ed8bc2b4 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_blind.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_blind.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_const.c b/drivers/builtin_openssl2/crypto/bn/bn_const.c
index eb60a25b3..eb60a25b3 100755
--- a/drivers/builtin_openssl/crypto/bn/bn_const.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_const.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_ctx.c b/drivers/builtin_openssl2/crypto/bn/bn_ctx.c
index 3f2256f67..3f2256f67 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_ctx.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_ctx.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_depr.c b/drivers/builtin_openssl2/crypto/bn/bn_depr.c
index 27535e4fc..27535e4fc 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_depr.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_depr.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_div.c b/drivers/builtin_openssl2/crypto/bn/bn_div.c
index 7b2403185..7b2403185 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_div.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_div.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_err.c b/drivers/builtin_openssl2/crypto/bn/bn_err.c
index cfe2eb94a..cfe2eb94a 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_err.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_err.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_exp.c b/drivers/builtin_openssl2/crypto/bn/bn_exp.c
index 2abf6fd67..2abf6fd67 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_exp.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_exp.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_exp2.c b/drivers/builtin_openssl2/crypto/bn/bn_exp2.c
index bd0c34b91..bd0c34b91 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_exp2.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_exp2.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_gcd.c b/drivers/builtin_openssl2/crypto/bn/bn_gcd.c
index a808f5317..a808f5317 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_gcd.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_gcd.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_gf2m.c b/drivers/builtin_openssl2/crypto/bn/bn_gf2m.c
index 8a4dc20ad..8a4dc20ad 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_gf2m.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_gf2m.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_kron.c b/drivers/builtin_openssl2/crypto/bn/bn_kron.c
index 740359b75..740359b75 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_kron.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_kron.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_lcl.h b/drivers/builtin_openssl2/crypto/bn/bn_lcl.h
index 817c773b6..817c773b6 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_lcl.h
+++ b/drivers/builtin_openssl2/crypto/bn/bn_lcl.h
diff --git a/drivers/builtin_openssl/crypto/bn/bn_lib.c b/drivers/builtin_openssl2/crypto/bn/bn_lib.c
index 5461e6ee7..5461e6ee7 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_lib.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_lib.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_mod.c b/drivers/builtin_openssl2/crypto/bn/bn_mod.c
index 77d6ddb91..77d6ddb91 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_mod.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_mod.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_mont.c b/drivers/builtin_openssl2/crypto/bn/bn_mont.c
index 427b5cf4d..ee8532c7d 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_mont.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_mont.c
@@ -478,32 +478,38 @@ BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from)
BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock,
const BIGNUM *mod, BN_CTX *ctx)
{
- int got_write_lock = 0;
BN_MONT_CTX *ret;
CRYPTO_r_lock(lock);
- if (!*pmont)
+ ret = *pmont;
+ CRYPTO_r_unlock(lock);
+ if (ret)
+ return ret;
+
+ /* We don't want to serialise globally while doing our lazy-init math in
+ * BN_MONT_CTX_set. That punishes threads that are doing independent
+ * things. Instead, punish the case where more than one thread tries to
+ * lazy-init the same 'pmont', by having each do the lazy-init math work
+ * independently and only use the one from the thread that wins the race
+ * (the losers throw away the work they've done). */
+ ret = BN_MONT_CTX_new();
+ if (!ret)
+ return NULL;
+ if (!BN_MONT_CTX_set(ret, mod, ctx))
{
- CRYPTO_r_unlock(lock);
- CRYPTO_w_lock(lock);
- got_write_lock = 1;
+ BN_MONT_CTX_free(ret);
+ return NULL;
+ }
- if (!*pmont)
- {
- ret = BN_MONT_CTX_new();
- if (ret && !BN_MONT_CTX_set(ret, mod, ctx))
- BN_MONT_CTX_free(ret);
- else
- *pmont = ret;
- }
+ /* The locked compare-and-set, after the local work is done. */
+ CRYPTO_w_lock(lock);
+ if (*pmont)
+ {
+ BN_MONT_CTX_free(ret);
+ ret = *pmont;
}
-
- ret = *pmont;
-
- if (got_write_lock)
- CRYPTO_w_unlock(lock);
else
- CRYPTO_r_unlock(lock);
-
+ *pmont = ret;
+ CRYPTO_w_unlock(lock);
return ret;
}
diff --git a/drivers/builtin_openssl/crypto/bn/bn_mpi.c b/drivers/builtin_openssl2/crypto/bn/bn_mpi.c
index a054d21ae..a054d21ae 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_mpi.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_mpi.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_mul.c b/drivers/builtin_openssl2/crypto/bn/bn_mul.c
index 12e5be80e..12e5be80e 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_mul.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_mul.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_nist.c b/drivers/builtin_openssl2/crypto/bn/bn_nist.c
index e22968d4a..e22968d4a 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_nist.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_nist.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_prime.c b/drivers/builtin_openssl2/crypto/bn/bn_prime.c
index 7b25979dd..7b25979dd 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_prime.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_prime.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_prime.h b/drivers/builtin_openssl2/crypto/bn/bn_prime.h
index 51d2194fe..51d2194fe 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_prime.h
+++ b/drivers/builtin_openssl2/crypto/bn/bn_prime.h
diff --git a/drivers/builtin_openssl/crypto/bn/bn_prime.pl b/drivers/builtin_openssl2/crypto/bn/bn_prime.pl
index 3fafb6f3e..3fafb6f3e 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_prime.pl
+++ b/drivers/builtin_openssl2/crypto/bn/bn_prime.pl
diff --git a/drivers/builtin_openssl/crypto/bn/bn_print.c b/drivers/builtin_openssl2/crypto/bn/bn_print.c
index 1743b6a7e..1743b6a7e 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_print.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_print.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_rand.c b/drivers/builtin_openssl2/crypto/bn/bn_rand.c
index b376c28ff..b376c28ff 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_rand.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_rand.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_recp.c b/drivers/builtin_openssl2/crypto/bn/bn_recp.c
index 2e8efb8da..2e8efb8da 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_recp.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_recp.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_shift.c b/drivers/builtin_openssl2/crypto/bn/bn_shift.c
index a6fca2c42..a6fca2c42 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_shift.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_shift.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_sqr.c b/drivers/builtin_openssl2/crypto/bn/bn_sqr.c
index 270d0cd34..270d0cd34 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_sqr.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_sqr.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_sqrt.c b/drivers/builtin_openssl2/crypto/bn/bn_sqrt.c
index 6beaf9e5e..6beaf9e5e 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_sqrt.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_sqrt.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_word.c b/drivers/builtin_openssl2/crypto/bn/bn_word.c
index de83a15b9..de83a15b9 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_word.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_word.c
diff --git a/drivers/builtin_openssl/crypto/bn/bn_x931p.c b/drivers/builtin_openssl2/crypto/bn/bn_x931p.c
index 04c5c874e..04c5c874e 100644
--- a/drivers/builtin_openssl/crypto/bn/bn_x931p.c
+++ b/drivers/builtin_openssl2/crypto/bn/bn_x931p.c
diff --git a/drivers/builtin_openssl/crypto/bn/bnspeed.c b/drivers/builtin_openssl2/crypto/bn/bnspeed.c
index b554ac8cf..b554ac8cf 100644
--- a/drivers/builtin_openssl/crypto/bn/bnspeed.c
+++ b/drivers/builtin_openssl2/crypto/bn/bnspeed.c
diff --git a/drivers/builtin_openssl/crypto/bn/bntest.c b/drivers/builtin_openssl2/crypto/bn/bntest.c
index 06f5954ac..06f5954ac 100644
--- a/drivers/builtin_openssl/crypto/bn/bntest.c
+++ b/drivers/builtin_openssl2/crypto/bn/bntest.c
diff --git a/drivers/builtin_openssl/crypto/bn/divtest.c b/drivers/builtin_openssl2/crypto/bn/divtest.c
index d3fc688f3..d3fc688f3 100644
--- a/drivers/builtin_openssl/crypto/bn/divtest.c
+++ b/drivers/builtin_openssl2/crypto/bn/divtest.c
diff --git a/drivers/builtin_openssl/crypto/bn/exp.c b/drivers/builtin_openssl2/crypto/bn/exp.c
index 4865b0ef7..4865b0ef7 100644
--- a/drivers/builtin_openssl/crypto/bn/exp.c
+++ b/drivers/builtin_openssl2/crypto/bn/exp.c
diff --git a/drivers/builtin_openssl/crypto/bn/expspeed.c b/drivers/builtin_openssl2/crypto/bn/expspeed.c
index 4d5f221f3..4d5f221f3 100644
--- a/drivers/builtin_openssl/crypto/bn/expspeed.c
+++ b/drivers/builtin_openssl2/crypto/bn/expspeed.c
diff --git a/drivers/builtin_openssl/crypto/bn/exptest.c b/drivers/builtin_openssl2/crypto/bn/exptest.c
index 074a8e882..074a8e882 100644
--- a/drivers/builtin_openssl/crypto/bn/exptest.c
+++ b/drivers/builtin_openssl2/crypto/bn/exptest.c
diff --git a/drivers/builtin_openssl/crypto/bn/todo b/drivers/builtin_openssl2/crypto/bn/todo
index e47e381ae..e47e381ae 100644
--- a/drivers/builtin_openssl/crypto/bn/todo
+++ b/drivers/builtin_openssl2/crypto/bn/todo
diff --git a/drivers/builtin_openssl/crypto/bn/vms-helper.c b/drivers/builtin_openssl2/crypto/bn/vms-helper.c
index 4b63149bf..4b63149bf 100644
--- a/drivers/builtin_openssl/crypto/bn/vms-helper.c
+++ b/drivers/builtin_openssl2/crypto/bn/vms-helper.c