[PATCH 03/10] mpih-pow: harden condition calculation against branch optimization
Jussi Kivilinna <[email protected]> Sat, 27 Sep 2025 10:54:12 +0300
| Newsgroups | gmane.comp.encryption.gpg.libgcrypt.devel |
|---|---|
| Message-ID | <[email protected]> |
* mpi/mpih-pow.c (mont_reduc): Pass condition code through mask generator to avoid optimization to branch by certain compilers. -- Signed-off-by: Jussi Kivilinna <[email protected]> --- mpi/mpih-pow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpi/mpih-pow.c b/mpi/mpih-pow.c index 649052f6..fb6cd9f3 100644 --- a/mpi/mpih-pow.c +++ b/mpi/mpih-pow.c @@ -97,7 +97,7 @@ mont_reduc (mpi_ptr_t rp, mpi_ptr_t tp, cy0 = _gcry_mpih_sub_n (rp, tp + n, mp, n); _gcry_mpih_set_cond (rp, tp + n, n, - mpih_limb_is_not_zero (cy0) + ct_ulong_gen_mask (mpih_limb_is_not_zero (cy0)) & mpih_limb_is_zero (cy1)); } -- 2.48.1