From: Andy Polyakov Date: Mon, 21 Nov 2016 14:15:52 +0000 (+0100) Subject: bn/asm/ppc-mont.pl: signal no-op in 32-bit bit build. X-Git-Tag: OpenSSL_1_1_1-pre1~2967 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=90fc4832a392f60d2da2f5684d8d20ac8d91cebd;hp=20d14461fb179d00b4f8991fe9fd9560d71f8fb6 bn/asm/ppc-mont.pl: signal no-op in 32-bit bit build. The bug was introduced in 80d27cdb84985c697f8fabb7649abf1f54714d13, one too many instructions was removed. It went unnoticed, because new subroutine introduced in previous commit is called in real-life RSA/DSA/DH cases, while original code is called only in rare tests. The bug was caught in test_fuzz. Reviewed-by: Rich Salz --- diff --git a/crypto/bn/asm/ppc-mont.pl b/crypto/bn/asm/ppc-mont.pl index fdc049ae0e..b747f70132 100644 --- a/crypto/bn/asm/ppc-mont.pl +++ b/crypto/bn/asm/ppc-mont.pl @@ -135,6 +135,7 @@ $code=<<___; .align 5 .bn_mul_mont_int: mr $rp,r3 ; $rp is reassigned + li r3,0 ___ $code.=<<___ if ($BNSZ==4); cmpwi $num,32 ; longer key performance is not better