diff options
| author | Anastasia Tishchenko <sv3iry@gmail.com> | 2026-05-13 13:57:40 +0300 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2026-05-22 15:25:29 +0300 |
| commit | 27b536a2ec8e2f85a0380c2d13c9ecbc7aaab406 (patch) | |
| tree | ad11c59e59430464ba82a95b3b0830e99a245b99 /scripts/stackusage | |
| parent | 310bcf581dc57506160ef138ad6276e965b550cd (diff) | |
| download | linux-27b536a2ec8e2f85a0380c2d13c9ecbc7aaab406.tar.xz | |
crypto: ecc - Fix carry overflow in vli multiplication
The carry flag calculation fails when r01.m_high is saturated
(0xFFFFFFFFFFFFFFFF) and addition of lower bits overflows.
The condition (r01.m_high < product.m_high) doesn't handle the case
where r01.m_high == product.m_high and an additional carry exists
from lower-bit overflow.
When commit 3c4b23901a0c ("crypto: ecdh - Add ECDH software support")
introduced crypto/ecc.c, it split the muladd() function in the
micro-ecc library into separate mul_64_64() and add_128_128() helpers.
It seems the check got lost in translation.
Add proper handling for this boundary by accounting for the carry
from the lower addition.
Fixes: 3c4b23901a0c ("crypto: ecdh - Add ECDH software support")
Signed-off-by: Anastasia Tishchenko <sv3iry@gmail.com>
Cc: stable@vger.kernel.org # v4.8+
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
