• Ard Biesheuvel's avatar
    crypto: ecdh - fix big endian bug in ECC library · f398243e
    Ard Biesheuvel authored
    The elliptic curve arithmetic library used by the EC-DH KPP implementation
    assumes big endian byte order, and unconditionally reverses the byte
    and word order of multi-limb quantities. On big endian systems, the byte
    reordering is not necessary, while the word ordering needs to be retained.
    
    So replace the __swab64() invocation with a call to be64_to_cpu() which
    should do the right thing for both little and big endian builds.
    
    Fixes: 3c4b2390 ("crypto: ecdh - Add ECDH software support")
    Cc: <stable@vger.kernel.org> # v4.9+
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    f398243e
ecc.c 38.3 KB