From 2f70e4b2f9a095a1bd4fed4a1afb8f6f1a247a9a Mon Sep 17 00:00:00 2001 From: Jeffrey Martin Date: Tue, 14 Aug 2018 14:41:57 -0500 Subject: [PATCH 1/5] add hints for mips registers that may need restore Signed-off-by: Jeffrey Martin --- include/mbedtls/bn_mul.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h index 2f7b72fe4..69298f084 100644 --- a/include/mbedtls/bn_mul.h +++ b/include/mbedtls/bn_mul.h @@ -750,7 +750,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 */ From a661be35932ecaa0d51cf48df7fab673bfae5c34 Mon Sep 17 00:00:00 2001 From: Jeffrey Martin Date: Mon, 14 Jan 2019 16:40:59 -0600 Subject: [PATCH 2/5] Add fix of #1722 to ChangLog Signed-off-by: Jeffrey Martin --- ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index b39b95391..a82d1f401 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,10 @@ Bugfix previously lead to a stack overflow on constrained targets. * Add `MBEDTLS_SELF_TEST` for the mbedtls_self_test functions in the header files, which missed the precompilation check. #971 + * Extend register cleanup needed on MIPS assembly optimizations. Adds hi, lo + registers hints to the compiler for usage with the embedded MIPS assembly. + Reported in #1722, fix suggested by @aurel32 and submitted + by Jeffrey Martin, #1949. = mbed TLS 2.16.0 branch released 2018-12-21 From d25fd8d4c9c3e1889d17da39a044036679466dac Mon Sep 17 00:00:00 2001 From: Jeffrey Martin Date: Mon, 14 Jan 2019 18:01:40 -0600 Subject: [PATCH 3/5] MIPS register hints without `$` for compatibility Signed-off-by: Jeffrey Martin --- include/mbedtls/bn_mul.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h index 69298f084..26cfa77de 100644 --- a/include/mbedtls/bn_mul.h +++ b/include/mbedtls/bn_mul.h @@ -750,7 +750,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", "$lo", "$hi" \ + : "$9", "$10", "$11", "$12", "$13", "$14", "$15", "lo", "hi" \ ); #endif /* MIPS */ From d20a0e2d9f371ed20d6379d50654724580c58655 Mon Sep 17 00:00:00 2001 From: Jeffrey Martin Date: Tue, 15 Jan 2019 09:01:31 -0600 Subject: [PATCH 4/5] update ChangLog per comments Signed-off-by: Jeffrey Martin --- ChangeLog | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a82d1f401..d19ec9495 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,10 +11,11 @@ Bugfix previously lead to a stack overflow on constrained targets. * Add `MBEDTLS_SELF_TEST` for the mbedtls_self_test functions in the header files, which missed the precompilation check. #971 - * Extend register cleanup needed on MIPS assembly optimizations. Adds hi, lo - registers hints to the compiler for usage with the embedded MIPS assembly. - Reported in #1722, fix suggested by @aurel32 and submitted - by Jeffrey Martin, #1949. + * 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 @aurel32 and submitted by Jeffrey Martin. = mbed TLS 2.16.0 branch released 2018-12-21 From 801217e057aa64b379be22e4cbdca3d2f2d1fccc Mon Sep 17 00:00:00 2001 From: Jeffrey Martin Date: Wed, 16 Jan 2019 09:25:36 -0600 Subject: [PATCH 5/5] update ChangLog credit Signed-off-by: Jeffrey Martin --- ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d19ec9495..99bdf39f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,7 +15,7 @@ Bugfix 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 @aurel32 and submitted by Jeffrey Martin. + by Aurelien Jarno and submitted by Jeffrey Martin. = mbed TLS 2.16.0 branch released 2018-12-21