nss: fix gcm on ppc64le

This commit is contained in:
q66 2021-06-04 13:45:18 +02:00
parent 8361ee97cd
commit 54fd96ffdd
2 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,34 @@
From 32ebd26354548fc3f883a56e8bfafc78f5265ce8 Mon Sep 17 00:00:00 2001
From: mamonet <maamoun.tk@gmail.com>
Date: Fri, 4 Jun 2021 09:36:15 +0000
Subject: [PATCH] Bug 1566124 - Fix AES_GCM mode on ppc64le for messages of
length more than 255-byte r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D116274
--HG--
extra : moz-landing-system : lando
---
lib/freebl/ppc-gcm.s | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/freebl/ppc-gcm.s b/lib/freebl/ppc-gcm.s
index 4d5fff437..06ad5862c 100644
--- nss/lib/freebl/ppc-gcm.s
+++ nss/lib/freebl/ppc-gcm.s
@@ -692,7 +692,6 @@ addi TOCP,TOCP,(.TOC.-ppc_aes_gcmCRYPT)@l
mtctr 9
- li 10, 0
li 25, 0x10
li 26, 0x20
li 27, 0x30
@@ -703,6 +702,7 @@ addi TOCP,TOCP,(.TOC.-ppc_aes_gcmCRYPT)@l
.align 5
.L8x_loop:
+ li 10, 0
VEC_LOAD_INC K, KS, 10
vadduwm CTR1, CTR, I1

View file

@ -0,0 +1,27 @@
From 73b47b7cb5133302087980ef321a83670d383db1 Mon Sep 17 00:00:00 2001
From: mamonet <maamoun.tk@gmail.com>
Date: Fri, 4 Jun 2021 09:36:15 +0000
Subject: [PATCH] Bug 1566124 - Fix counter increase in ppc-gcm-wrap.c
r=bbeurdouche
Differential Revision: https://phabricator.services.mozilla.com/D116297
--HG--
extra : moz-landing-system : lando
---
lib/freebl/ppc-gcm-wrap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/freebl/ppc-gcm-wrap.c b/lib/freebl/ppc-gcm-wrap.c
index ca3d8ee69..ac58744cb 100644
--- nss/lib/freebl/ppc-gcm-wrap.c
+++ nss/lib/freebl/ppc-gcm-wrap.c
@@ -155,7 +155,7 @@ ppc_aes_gcmInitCounter(ppc_AES_GCMContext *gcm,
/* Promote the counter by 1 */
gcm->CTR[14] += !(++gcm->CTR[15]);
gcm->CTR[13] += !(gcm->CTR[15]) && !(gcm->CTR[14]);
- gcm->CTR[12] += !(gcm->CTR[15]) && !(gcm->CTR[13]) && !(gcm->CTR[12]);
+ gcm->CTR[12] += !(gcm->CTR[15]) && !(gcm->CTR[14]) && !(gcm->CTR[13]);
/* Now hash AAD - it would actually make sense to seperate the context
* creation from the AAD, because that would allow to reuse the H, which