]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
openssl: Fix detection of ARMv7 and ARM64 CPU features
authorAllan Jude <allanjude@FreeBSD.org>
Fri, 19 Nov 2021 15:14:30 +0000 (15:14 +0000)
committerAllan Jude <allanjude@FreeBSD.org>
Mon, 22 Nov 2021 18:12:20 +0000 (18:12 +0000)
commit32a2fed6e71f896266d4c695754104d82a72c60d
treebb7390fa6d2befcb41792e1f6c2499ef59f8a3c6
parentd16fbc488e604d5bad295c2951aa67da885a62f5
openssl: Fix detection of ARMv7 and ARM64 CPU features

OpenSSL assumes the same value for AT_HWCAP=16 (Linux)
So it ends up calling elf_auxv_info() with AT_CANARY which
returns ENOENT, and all acceleration features are disabled.

With this, my ARM64 test machine runs the benchmark
`openssl speed -evp aes-256-gcm` nearly 20x faster
going from 100 MB/sec to 2000 MB/sec

It also improves sha256 from 300 MB/sec to 1800 MB/sec

This fix has been accepted but not yet merged upstream:
https://github.com/openssl/openssl/pull/17082

PR: 259937
Reviewed by: manu, imp
MFC after: immediate
Relnotes: yes
Fixes: 88e852c0b5c872b1a ("OpenSSL: Merge OpenSSL 1.1.1j")
Sponsored by: Ampere Computing LLC
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D33060

(cherry picked from commit d9bb798725cfce9c72b80440659b48e8668eb10d)
crypto/openssl/crypto/armcap.c