diff options
| author | miod <> | 2014-06-20 10:40:13 +0000 | 
|---|---|---|
| committer | miod <> | 2014-06-20 10:40:13 +0000 | 
| commit | 95e59d009f690c45e20c0e9d2ecf98c91793d45a (patch) | |
| tree | 2cf0be377eac462912ce01e719a67db70594ef0f /src | |
| parent | e2f4d1f11674f0d450848c4298ba165b2e5bbd7c (diff) | |
| download | openbsd-95e59d009f690c45e20c0e9d2ecf98c91793d45a.tar.gz openbsd-95e59d009f690c45e20c0e9d2ecf98c91793d45a.tar.bz2 openbsd-95e59d009f690c45e20c0e9d2ecf98c91793d45a.zip | |
Fix incorrect bounds check in amd64 assembly version of bn_mul_mont();
noticed and fix by Fedor Indutny of Joyent
( https://github.com/joyent/node/issues/7704 )
Diffstat (limited to 'src')
| -rwxr-xr-x | src/lib/libcrypto/bn/asm/x86_64-mont.pl | 4 | ||||
| -rwxr-xr-x | src/lib/libcrypto/bn/asm/x86_64-mont5.pl | 4 | ||||
| -rwxr-xr-x | src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl | 4 | ||||
| -rwxr-xr-x | src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl | 4 | 
4 files changed, 8 insertions, 8 deletions
| diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont.pl b/src/lib/libcrypto/bn/asm/x86_64-mont.pl index 90c717f115..c35493e80a 100755 --- a/src/lib/libcrypto/bn/asm/x86_64-mont.pl +++ b/src/lib/libcrypto/bn/asm/x86_64-mont.pl | |||
| @@ -138,7 +138,7 @@ $code.=<<___; | |||
| 138 | 138 | ||
| 139 | mulq $m1 # np[j]*m1 | 139 | mulq $m1 # np[j]*m1 | 
| 140 | cmp $num,$j | 140 | cmp $num,$j | 
| 141 | jne .L1st | 141 | jl .L1st | 
| 142 | 142 | ||
| 143 | add %rax,$hi1 | 143 | add %rax,$hi1 | 
| 144 | mov ($ap),%rax # ap[0] | 144 | mov ($ap),%rax # ap[0] | 
| @@ -204,7 +204,7 @@ $code.=<<___; | |||
| 204 | 204 | ||
| 205 | mulq $m1 # np[j]*m1 | 205 | mulq $m1 # np[j]*m1 | 
| 206 | cmp $num,$j | 206 | cmp $num,$j | 
| 207 | jne .Linner | 207 | jl .Linner | 
| 208 | 208 | ||
| 209 | add %rax,$hi1 | 209 | add %rax,$hi1 | 
| 210 | mov ($ap),%rax # ap[0] | 210 | mov ($ap),%rax # ap[0] | 
| diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl index dae0fe2453..9c88884d42 100755 --- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl +++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | |||
| @@ -181,7 +181,7 @@ $code.=<<___; | |||
| 181 | 181 | ||
| 182 | mulq $m1 # np[j]*m1 | 182 | mulq $m1 # np[j]*m1 | 
| 183 | cmp $num,$j | 183 | cmp $num,$j | 
| 184 | jne .L1st | 184 | jl .L1st | 
| 185 | 185 | ||
| 186 | movq %xmm0,$m0 # bp[1] | 186 | movq %xmm0,$m0 # bp[1] | 
| 187 | 187 | ||
| @@ -264,7 +264,7 @@ $code.=<<___; | |||
| 264 | 264 | ||
| 265 | mulq $m1 # np[j]*m1 | 265 | mulq $m1 # np[j]*m1 | 
| 266 | cmp $num,$j | 266 | cmp $num,$j | 
| 267 | jne .Linner | 267 | jl .Linner | 
| 268 | 268 | ||
| 269 | movq %xmm0,$m0 # bp[i+1] | 269 | movq %xmm0,$m0 # bp[i+1] | 
| 270 | 270 | ||
| diff --git a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl index 90c717f115..c35493e80a 100755 --- a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl +++ b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl | |||
| @@ -138,7 +138,7 @@ $code.=<<___; | |||
| 138 | 138 | ||
| 139 | mulq $m1 # np[j]*m1 | 139 | mulq $m1 # np[j]*m1 | 
| 140 | cmp $num,$j | 140 | cmp $num,$j | 
| 141 | jne .L1st | 141 | jl .L1st | 
| 142 | 142 | ||
| 143 | add %rax,$hi1 | 143 | add %rax,$hi1 | 
| 144 | mov ($ap),%rax # ap[0] | 144 | mov ($ap),%rax # ap[0] | 
| @@ -204,7 +204,7 @@ $code.=<<___; | |||
| 204 | 204 | ||
| 205 | mulq $m1 # np[j]*m1 | 205 | mulq $m1 # np[j]*m1 | 
| 206 | cmp $num,$j | 206 | cmp $num,$j | 
| 207 | jne .Linner | 207 | jl .Linner | 
| 208 | 208 | ||
| 209 | add %rax,$hi1 | 209 | add %rax,$hi1 | 
| 210 | mov ($ap),%rax # ap[0] | 210 | mov ($ap),%rax # ap[0] | 
| diff --git a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl index dae0fe2453..9c88884d42 100755 --- a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl +++ b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl | |||
| @@ -181,7 +181,7 @@ $code.=<<___; | |||
| 181 | 181 | ||
| 182 | mulq $m1 # np[j]*m1 | 182 | mulq $m1 # np[j]*m1 | 
| 183 | cmp $num,$j | 183 | cmp $num,$j | 
| 184 | jne .L1st | 184 | jl .L1st | 
| 185 | 185 | ||
| 186 | movq %xmm0,$m0 # bp[1] | 186 | movq %xmm0,$m0 # bp[1] | 
| 187 | 187 | ||
| @@ -264,7 +264,7 @@ $code.=<<___; | |||
| 264 | 264 | ||
| 265 | mulq $m1 # np[j]*m1 | 265 | mulq $m1 # np[j]*m1 | 
| 266 | cmp $num,$j | 266 | cmp $num,$j | 
| 267 | jne .Linner | 267 | jl .Linner | 
| 268 | 268 | ||
| 269 | movq %xmm0,$m0 # bp[i+1] | 269 | movq %xmm0,$m0 # bp[i+1] | 
| 270 | 270 | ||
