Page MenuHomeFreeBSD

libcrypto: Work around strict aliasing violations in bn_nist.c

Authored by jrtc27 on Jul 24 2022, 1:24 AM.



This file is full of strict aliasing violations. Previously it was only
optimised in ways that broke the code by CHERI LLVM, but now it appears
that the in-tree LLVM also breaks it for RISC-V, resulting in broken
ECDSA signature validation with error messages like the following:

root@unmatched:/usr/src # ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ecdsa_key is not a key file.
root@unmatched:/usr/src # git fetch
fatal: unable to access '': error:1012606B:elliptic curve routines:EC_POINT_set_affine_coordinates:point is not on curve

Obtained from: CheriBSD
MFC after: 1 week

Diff Detail

rS FreeBSD src repository - subversion
No Lint Coverage
No Test Coverage
Build Status
Buildable 46516
Build 43405: arc lint + arc unit