[git] GCRYPT - branch, master, updated. libgcrypt-1.5.0-439-g04615cc

by Jussi Kivilinna cvs at cvs.gnupg.org
Fri Dec 13 15:19:06 CET 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU crypto library".

The branch, master has been updated
       via  04615cc6803cdede25fa92e3ff697e252a23cd7a (commit)
      from  764643a3d5634bcbc47790bd8505f6a1a5280d9c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 04615cc6803cdede25fa92e3ff697e252a23cd7a
Author: Jussi Kivilinna <jussi.kivilinna at iki.fi>
Date:   Fri Dec 13 16:14:05 2013 +0200

    Add missing register clearing in to SHA-256 and SHA-512 assembly
    
    * cipher/sha256-ssse3-amd64.S: Clear used XMM/YMM registers at return.
    * cipher/sha512-avx-amd64.S: Ditto.
    * cipher/sha512-avx2-bmi2-amd64.S: Ditto.
    * cipher/sha512-ssse3-amd64.S: Ditto.
    --
    
    Signed-off-by: Jussi Kivilinna <jussi.kivilinna at iki.fi>

diff --git a/cipher/sha256-ssse3-amd64.S b/cipher/sha256-ssse3-amd64.S
index 06070d1..bcf0e19 100644
--- a/cipher/sha256-ssse3-amd64.S
+++ b/cipher/sha256-ssse3-amd64.S
@@ -481,6 +481,20 @@ _gcry_sha256_transform_amd64_ssse3:
 	cmp	INP, [rsp + _INP_END]
 	jne	.Loop0
 
+	pxor	xmm0, xmm0
+	pxor	xmm1, xmm1
+	pxor	xmm2, xmm2
+	pxor	xmm3, xmm3
+	pxor	xmm4, xmm4
+	pxor	xmm5, xmm5
+	pxor	xmm6, xmm6
+	pxor	xmm7, xmm7
+	pxor	xmm8, xmm8
+	pxor	xmm9, xmm9
+	pxor	xmm10, xmm10
+	pxor	xmm11, xmm11
+	pxor	xmm12, xmm12
+
 .Ldone_hash:
 	add	rsp, STACK_SIZE
 
diff --git a/cipher/sha512-avx-amd64.S b/cipher/sha512-avx-amd64.S
index 691d771..900936e 100644
--- a/cipher/sha512-avx-amd64.S
+++ b/cipher/sha512-avx-amd64.S
@@ -267,6 +267,8 @@ _gcry_sha512_transform_amd64_avx:
 	cmp	msglen, 0
 	je	.Lnowork
 
+	vzeroupper
+
 	/* Allocate Stack Space */
 	sub	rsp, frame_size
 
@@ -346,6 +348,18 @@ _gcry_sha512_transform_amd64_avx:
 	/* Restore Stack Pointer */
 	add	rsp, frame_size
 
+	vzeroupper
+	pxor	xmm0, xmm0
+	pxor	xmm1, xmm1
+	pxor	xmm2, xmm2
+	pxor	xmm3, xmm3
+	pxor	xmm4, xmm4
+	pxor	xmm5, xmm5
+	pxor	xmm6, xmm6
+	pxor	xmm7, xmm7
+	pxor	xmm8, xmm8
+	pxor	xmm9, xmm9
+
 	/* Return stack burn depth */
 	mov	rax, frame_size
 
diff --git a/cipher/sha512-avx2-bmi2-amd64.S b/cipher/sha512-avx2-bmi2-amd64.S
index 878c41b..9ece4fd 100644
--- a/cipher/sha512-avx2-bmi2-amd64.S
+++ b/cipher/sha512-avx2-bmi2-amd64.S
@@ -604,6 +604,8 @@ _gcry_sha512_transform_amd64_avx2:
 	cmp rdx, 0
 	je .Lnowork
 
+	vzeroupper
+
 	/* Allocate Stack Space */
 	mov	rax, rsp
 	sub	rsp, frame_size
@@ -717,6 +719,18 @@ _gcry_sha512_transform_amd64_avx2:
 	/* Restore Stack Pointer */
 	mov	rsp, [rsp + frame_RSPSAVE]
 
+	vzeroupper
+	pxor	xmm0, xmm0
+	pxor	xmm1, xmm1
+	pxor	xmm2, xmm2
+	pxor	xmm3, xmm3
+	pxor	xmm4, xmm4
+	pxor	xmm5, xmm5
+	pxor	xmm6, xmm6
+	pxor	xmm7, xmm7
+	pxor	xmm8, xmm8
+	pxor	xmm9, xmm9
+
 	mov	rax, frame_size
 .Lnowork:
 	ret
diff --git a/cipher/sha512-ssse3-amd64.S b/cipher/sha512-ssse3-amd64.S
index 2a719e5..4c80baa 100644
--- a/cipher/sha512-ssse3-amd64.S
+++ b/cipher/sha512-ssse3-amd64.S
@@ -348,6 +348,13 @@ _gcry_sha512_transform_amd64_ssse3:
 	/* Restore Stack Pointer */
 	add	rsp, frame_size
 
+	pxor	xmm0, xmm0
+	pxor	xmm1, xmm1
+	pxor	xmm2, xmm2
+	pxor	xmm3, xmm3
+	pxor	xmm4, xmm4
+	pxor	xmm5, xmm5
+
 	/* Return stack burn depth */
 	mov	rax, frame_size
 

-----------------------------------------------------------------------

Summary of changes:
 cipher/sha256-ssse3-amd64.S     |   14 ++++++++++++++
 cipher/sha512-avx-amd64.S       |   14 ++++++++++++++
 cipher/sha512-avx2-bmi2-amd64.S |   14 ++++++++++++++
 cipher/sha512-ssse3-amd64.S     |    7 +++++++
 4 files changed, 49 insertions(+)


hooks/post-receive
-- 
The GNU crypto library
http://git.gnupg.org


_______________________________________________
Gnupg-commits mailing list
Gnupg-commits at gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-commits




More information about the Gcrypt-devel mailing list