NetBSD Problem Report #55701
From jakllsch@kollasch.net Wed Oct 7 18:46:09 2020
Return-Path: <jakllsch@kollasch.net>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id D6A8B1A923A
for <gnats-bugs@gnats.NetBSD.org>; Wed, 7 Oct 2020 18:46:09 +0000 (UTC)
Message-Id: <20201007184603.GO21814@tazenda.kollasch.net>
Date: Wed, 7 Oct 2020 13:46:04 -0500
From: "Jonathan A. Kollasch" <jakllsch@kollasch.net>
Reply-To: jakllsch@kollasch.net
To: gnats-bugs@NetBSD.org
Subject: ecp_nistp521.c fails on Alpha
>Number: 55701
>Category: lib
>Synopsis: ecp_nistp521.c fails on Alpha
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: lib-bug-people
>State: feedback
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Oct 07 18:50:00 +0000 2020
>Closed-Date:
>Last-Modified: Tue Sep 03 13:00:46 +0000 2024
>Originator: Jonathan A. Kollasch
>Release: NetBSD 9.0
>Organization:
>Environment:
System: NetBSD toliman.kollasch.net 9.99.73 NetBSD 9.99.73 (GENERIC) #0: Tue Oct 6 16:39:23 UTC 2020 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/alpha/compile/GENERIC alpha
Architecture: alpha
Machine: alpha
>Description:
src/crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistp521.c does unaligned accesses
>How-To-Repeat:
start sshd, observe unaligned load/store warnings from kernel while it loads the ecdsa host key
>Fix:
define OPENSSL_NO_EC_NISTP_64_GCC_128 for Alpha
>Release-Note:
>Audit-Trail:
From: "Jonathan A. Kollasch" <jakllsch@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/55701 CVS commit: src/crypto/external/bsd/openssl/include/openssl
Date: Thu, 8 Oct 2020 16:00:09 +0000
Module Name: src
Committed By: jakllsch
Date: Thu Oct 8 16:00:09 UTC 2020
Modified Files:
src/crypto/external/bsd/openssl/include/openssl: opensslconf.h
Log Message:
openssl: Define OPENSSL_NO_EC_NISTP_64_GCC_128 for Alpha too
The ecp_nistp521.c code depends on doing unaligned 64-bit accesses,
which the NetBSD/alpha kernel doesn't like to trap and emulate.
fixes PR lib/55701
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/crypto/external/bsd/openssl/include/openssl/opensslconf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/55701 CVS commit: src/crypto/external/bsd/openssl.old/include/openssl
Date: Sat, 8 Jul 2023 23:42:49 +0000
Module Name: src
Committed By: rin
Date: Sat Jul 8 23:42:48 UTC 2023
Modified Files:
src/crypto/external/bsd/openssl.old/include/openssl: opensslconf.h
Log Message:
openssl.old: Remove OPENSSL_NO_EC_NISTP_64_GCC_128 hack for alpha.
Unaligned memory access reported in PR lib/55701 has been fixed by
upstream commit:
https://github.com/openssl/openssl/commit/77286fe3ec6b9777934e67e35f3b7007143b0734
Actually, kernel no longer complains with machdep.unaligned_print=1,
for sshd(8), ssh(1), and full ATF run.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/crypto/external/bsd/openssl.old/include/openssl/opensslconf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/55701 CVS commit: src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64
Date: Sat, 8 Jul 2023 23:54:27 +0000
Module Name: src
Committed By: rin
Date: Sat Jul 8 23:54:27 UTC 2023
Modified Files:
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64: ec.inc
Log Message:
Sprinkle OPENSSL_NO_EC_NISTP_64_GCC_128 for aarch64eb.
Otherwise, the following tests fail with wrong results:
- crypto/libcrypto/t_ciphers:evp
- crypto/libcrypto/t_pubkey:ec
Official document says ec_nistp_64_gcc_128 does not support big endian:
https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-ec_nistp_64_gcc_128
Thanks @a_rin for pointing this out on Twitter!
Note that an equivalent hack was present in openssl.old for aarch64eb,
alpha, and sparc64. But:
- alpha received upstream fix (PR lib/55701)
- sparc64 has been fixed differently (PR port-sparc64/57472)
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ec.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->feedback
State-Changed-By: jakllsch@NetBSD.org
State-Changed-When: Tue, 03 Sep 2024 13:00:46 +0000
State-Changed-Why:
changes committed
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.