diff --git a/ChangeLog b/ChangeLog index 122cd2c25..ea182c48b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,11 @@ Changes * Provide an abstraction of vsnprintf to allow alternative implementations for platforms that don't provide it. Based on contributions by Joris Aerts and Nathaniel Wesley Filardo. + * Fix clobber list in MIPS assembly for large integer multiplication. + Previously, this could lead to functionally incorrect assembly being + produced by some optimizing compilers, showing up as failures in + e.g. RSA or ECC signature operations. Reported in #1722, fix suggested + by Aurelien Jarno and submitted by Jeffrey Martin. = mbed TLS 2.16.0 branch released 2018-12-21 diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h index ac1e3f986..c33bd8d4a 100644 --- a/include/mbedtls/bn_mul.h +++ b/include/mbedtls/bn_mul.h @@ -756,7 +756,7 @@ "sw $10, %2 \n\t" \ : "=m" (c), "=m" (d), "=m" (s) \ : "m" (s), "m" (d), "m" (c), "m" (b) \ - : "$9", "$10", "$11", "$12", "$13", "$14", "$15" \ + : "$9", "$10", "$11", "$12", "$13", "$14", "$15", "lo", "hi" \ ); #endif /* MIPS */