Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: openssl/3.1: missing endbr64 in bsaes_xts
To:
Theo Buehler <tb@theobuehler.org>
Cc:
ports@openbsd.org, kettenis@openbsd.org
Date:
Sat, 24 Feb 2024 19:16:49 +0100

Download raw body.

Thread
> Date: Sat, 24 Feb 2024 17:59:55 +0100
> From: Theo Buehler <tb@theobuehler.org>
> 
> Two more endbr64 were missed in 3.1. I'll sync the diff to quictls.

These are indeed assigned to function pointers in crypto/evp/e_aes.c

ok kettenis@

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/security/openssl/3.1/Makefile,v
> diff -u -p -r1.21 Makefile
> --- Makefile	22 Feb 2024 13:47:11 -0000	1.21
> +++ Makefile	24 Feb 2024 16:51:43 -0000
> @@ -10,7 +10,7 @@ V=		3.1.5
>  PKGNAME=	openssl-${V}
>  PKGSPEC=	openssl->=3.1v0,<3.2v0
>  EPOCH=		0
> -REVISION=	1
> +REVISION=	2
>  
>  SHLIBVER=	15.1
>  SHARED_LIBS=	crypto ${SHLIBVER} \
> Index: patches/patch-crypto_aes_asm_bsaes-x86_64_pl
> ===================================================================
> RCS file: /cvs/ports/security/openssl/3.1/patches/patch-crypto_aes_asm_bsaes-x86_64_pl,v
> diff -u -p -r1.1.1.1 patch-crypto_aes_asm_bsaes-x86_64_pl
> --- patches/patch-crypto_aes_asm_bsaes-x86_64_pl	14 Mar 2023 18:54:42 -0000	1.1.1.1
> +++ patches/patch-crypto_aes_asm_bsaes-x86_64_pl	24 Feb 2024 16:50:24 -0000
> @@ -1,7 +1,23 @@
>  Index: crypto/aes/asm/bsaes-x86_64.pl
>  --- crypto/aes/asm/bsaes-x86_64.pl.orig
>  +++ crypto/aes/asm/bsaes-x86_64.pl
> -@@ -3003,6 +3003,7 @@ ___
> +@@ -2182,6 +2182,7 @@ $code.=<<___;
> + .align	16
> + ossl_bsaes_xts_encrypt:
> + .cfi_startproc
> ++	endbranch
> + 	mov	%rsp, %rax
> + .Lxts_enc_prologue:
> + 	push	%rbp
> +@@ -2581,6 +2582,7 @@ $code.=<<___;
> + .align	16
> + ossl_bsaes_xts_decrypt:
> + .cfi_startproc
> ++	endbranch
> + 	mov	%rsp, %rax
> + .Lxts_dec_prologue:
> + 	push	%rbp
> +@@ -3003,6 +3005,7 @@ ___
>   }
>   $code.=<<___;
>   .type	_bsaes_const,\@object
> @@ -9,7 +25,7 @@ Index: crypto/aes/asm/bsaes-x86_64.pl
>   .align	64
>   _bsaes_const:
>   .LM0ISR:	# InvShiftRows constants
> -@@ -3054,9 +3055,9 @@ _bsaes_const:
> +@@ -3054,9 +3057,9 @@ _bsaes_const:
>   	.quad	0x02060a0e03070b0f, 0x0004080c0105090d
>   .L63:
>   	.quad	0x6363636363636363, 0x6363636363636363
>