Hello everyone! Discovered this problem while trying to fix https://github.com/joyent/node/issues/7704.
Attached is a fix for it. Cheers, Fedor.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - From c6a4d5ff66cd886023f75780e876053f019ed8de Mon Sep 17 00:00:00 2001 From: Fedor Indutny <fe...@indutny.com> Date: Fri, 6 Jun 2014 14:33:10 -0700 Subject: [PATCH] x86_64 asm: fix bn_mul_mont on odd-len BNs Fix index overflow in bn_mul_mont and bn_mul_mont_gather5. - --- crypto/bn/asm/x86_64-mont.pl | 4 ++-- crypto/bn/asm/x86_64-mont5.pl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crypto/bn/asm/x86_64-mont.pl b/crypto/bn/asm/x86_64-mont.pl index 3803928..7ec1654 100755 - --- a/crypto/bn/asm/x86_64-mont.pl +++ b/crypto/bn/asm/x86_64-mont.pl @@ -174,7 +174,7 @@ $code.=<<___; mulq $m1 # np[j]*m1 cmp $num,$j - - jne .L1st + jl .L1st add %rax,$hi1 mov ($ap),%rax # ap[0] @@ -240,7 +240,7 @@ $code.=<<___; mulq $m1 # np[j]*m1 cmp $num,$j - - jne .Linner + jl .Linner add %rax,$hi1 mov ($ap),%rax # ap[0] diff --git a/crypto/bn/asm/x86_64-mont5.pl b/crypto/bn/asm/x86_64-mont5.pl index c107df9..5cc0689 100755 - --- a/crypto/bn/asm/x86_64-mont5.pl +++ b/crypto/bn/asm/x86_64-mont5.pl @@ -207,7 +207,7 @@ $code.=<<___; mulq $m1 # np[j]*m1 cmp $num,$j - - jne .L1st + jl .L1st movq %xmm0,$m0 # bp[1] @@ -290,7 +290,7 @@ $code.=<<___; mulq $m1 # np[j]*m1 cmp $num,$j - - jne .Linner + jl .Linner movq %xmm0,$m0 # bp[i+1] - -- 1.9.3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJTkjPhAAoJEPsOEJWxeXmZc00P/3KY+9WOVwZ2Ad+1uqRquxAQ zlLDmhRAae0Z7mGrsExW9EHOu0RD8sMgX901uy4CAKOPon86skxbe70TPJ+8ZmMv tGgHrJhGos6fe6x47r9KgpYFng3lltN/i6rgArDnK9fZa5+7n9/Txz/NjMUgVMd/ Fw0zAvqOqpy5Q5YxgD85tBMInZqliYiV2NGKa7hHlnCcWzqEEZThy0LpAltb4L4c bBAviH6EzxFWE4i7f9Id0e6V0taoN5LMM0Ia2UikCXlA1sPchwojirmXEVu/vvYu AnBsnBYLUSxHCnUFOT/EezAkiZlXnQEr8ZGOmoxfPWWrFJ4rMuxgZpjrZbZ6cIwf CTgP0SxUQkftbP354aAJGeP8c4AtRP/PLEFB1rZovbVC0v99wzAo9xb69yXy+hUR 3D2C1Xcj7TYS2wB+u4sbUvluaLIWLTFCRxiONqNhG3J7oQQHrkleWkhrktbcQBxi Rotqtn34zkPN6cYWjjc6j6Ww6fQpKRsyRb677fe695Jp/MgRcsg/QTz+uVg5U3HS tt/9XDm6fg6FKD7PgBNn5okoDkKtWSRUOEUddy28B/YSB/c7AVWvbH6cLW3dp0iF 20/YuGEWSogzOEcy8Tsn0I3owLSMOe5fSCtYMoFJRCD1hlgonXpbEMMq85dnF/vg JT5UiUwprJ54GkHFnhDX =j4Ho -----END PGP SIGNATURE-----
0001-x86_64-asm-fix-bn_mul_mont-on-odd-len-BNs.patch
Description: Binary data