forked from pool/openssl-1_1
02427a3414
* All the minor versions of the 1.1.x openssl branch have the same sonum and keep ABI compatibility - Remove bit obsolete syntax - Use %license macro - Don't disable afalgeng on aarch64 - Add support for s390x CPACF enhancements (fate#321518) patches taken from https://github.com/openssl/openssl/pull/2859: * 0002-crypto-modes-asm-ghash-s390x.pl-fix-gcm_gmult_4bit-K.patch * 0004-s390x-assembly-pack-add-OPENSSL_s390xcap-environment.patch * 0005-s390x-assembly-pack-add-OPENSSL_s390xcap-man-page.patch * 0006-s390x-assembly-pack-extended-s390x-capability-vector.patch * 0007-crypto-evp-e_aes.c-add-foundations-for-extended-s390.patch * 0008-s390x-assembly-pack-extended-s390x-capability-vector.patch * 0009-crypto-aes-asm-aes-s390x.pl-add-KMA-code-path.patch * 0010-doc-man3-OPENSSL_s390xcap.pod-update-KMA.patch * 0011-crypto-aes-asm-aes-s390x.pl-add-CFI-annotations-KMA-.patch * 0012-s390x-assembly-pack-add-KMA-code-path-for-aes-gcm.patch * 0013-crypto-aes-asm-aes-s390x.pl-add-CFI-annotations-KMA-.patch - Do not filter pkgconfig() provides/requires. - Obsolete openssl-1_0_0 by openssl-1_1_0: this is required for a clean upgrade path as an aid to zypp (boo#1070003). - Update to 1.1.0g OpenSSL Security Advisory [02 Nov 2017] OBS-URL: https://build.opensuse.org/package/show/security:tls/openssl-1_1?expand=0&rev=2
59 lines
1.6 KiB
Diff
59 lines
1.6 KiB
Diff
From 6d4165cf2b6c19162fdcc98e0f093b12ce765191 Mon Sep 17 00:00:00 2001
|
|
From: Patrick Steuer <patrick.steuer@de.ibm.com>
|
|
Date: Tue, 14 Feb 2017 02:07:37 +0100
|
|
Subject: [PATCH 09/44] crypto/aes/asm/aes-s390x.pl: add KMA code path.
|
|
|
|
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>
|
|
---
|
|
crypto/aes/asm/aes-s390x.pl | 34 +++++++++++++++++++++++++++++++++-
|
|
1 file changed, 33 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/crypto/aes/asm/aes-s390x.pl b/crypto/aes/asm/aes-s390x.pl
|
|
index b546c16025..750f61e87a 100644
|
|
--- a/crypto/aes/asm/aes-s390x.pl
|
|
+++ b/crypto/aes/asm/aes-s390x.pl
|
|
@@ -1403,7 +1403,39 @@ $code.=<<___ if (!$softonly);
|
|
clr %r0,%r1
|
|
jl .Lctr32_software
|
|
|
|
- stm${g} %r6,$s3,6*$SIZE_T($sp)
|
|
+ stm${g} $s2,$s3,10*$SIZE_T($sp)
|
|
+ llgfr $s2,%r0
|
|
+ larl %r1,OPENSSL_s390xcap_P
|
|
+ llihh %r0,0x8000 # check if kma supports the function code
|
|
+ srlg %r0,%r0,0($s2)
|
|
+ ng %r0,88(%r1) # check kma capability vector
|
|
+ lgr %r0,$s2
|
|
+ jz .Lctr32_nokma
|
|
+
|
|
+ aghi $sp,-112
|
|
+ lhi %r1,0x0600
|
|
+ sllg $len,$len,4
|
|
+ or %r0,%r1 # set HS and LAAD flags
|
|
+ lmg $s2,$s3,0($ivp)
|
|
+ la %r1,0($sp) # prepare parameter block
|
|
+ ahi $s3,-1 # decrement counter
|
|
+ mvc 80(32,$sp),0($key) # copy key
|
|
+ stmg $s2,$s3,64($sp) # copy iv
|
|
+ st $s3,12($sp) # copy counter
|
|
+ lghi $s3,0 # no AAD
|
|
+
|
|
+ .long 0xb929a042 # kma $out,$s2,$inp
|
|
+ brc 1,.-4 # pay attention to "partial completion"
|
|
+
|
|
+ xc 80(32,$sp),80($sp) # wipe key copy
|
|
+ la $sp,112($sp)
|
|
+ lm${g} $s2,$s3,10*$SIZE_T($sp)
|
|
+ br $ra
|
|
+
|
|
+.align 16
|
|
+.Lctr32_nokma:
|
|
+
|
|
+ stm${g} %r6,$s1,6*$SIZE_T($sp)
|
|
|
|
slgr $out,$inp
|
|
la %r1,0($key) # %r1 is permanent copy of $key
|
|
--
|
|
2.13.6
|
|
|