On Sun, 25 Oct 2026 09:54:44 +0100, Ahmad Fatoum wrote:
> This is an adoption of the corresponding Linux commit:
>
> | commit 27b536a2ec8e2f85a0380c2d13c9ecbc7aaab406
> |
> | 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 <[email protected]>
> | Cc: [email protected] # v4.8+
> | Reviewed-by: Lukas Wunner <[email protected]>
> | Signed-off-by: Herbert Xu <[email protected]>
>
> [...]
Applied, thanks!
[1/3] crypto: ecc - Fix carry overflow in vli multiplication
https://git.pengutronix.de/cgit/barebox/commit/?id=ee1ddfaf4e91 (link may
not be stable)
[2/3] crypto: ecc - Optimize vli additive operations using compiler builtins
https://git.pengutronix.de/cgit/barebox/commit/?id=a6a5e2e775ea (link may
not be stable)
[3/3] crypto: ecc - Handle exceptional points in Shamir multiplication
https://git.pengutronix.de/cgit/barebox/commit/?id=7423e4755ecd (link may
not be stable)
Best regards,
--
Sascha Hauer <[email protected]>