Skip to content

Commit 57b9e16

Browse files
authored
[Security] Upgrade OpenSSL version to 1.1.1n-0+deb11u4 #41
Why I did it Upgrade to 1.1.1n-0+deb11u4 How I did it Remove some of the patches have already added in the openssl git repository git log --oneline debian/openssl-1.1.1n-0+deb11u1..debian/openssl-1.1.1n-0+deb11u3 4b70fedda2 Prepare 1.1.1n-0+deb11u3 f6df7303d8 Update expired certs. 84540b59c1 CVE-2022-2068 f763d8a93e Prepare 1.1.1n-0+deb11u2 576562cebe CVE-2022-1292 Add some of additional patches can be retrieved from the debian mirror. apt source libssl1.1 Add the patches from openssl-1.1.1n/debian/patches to src/openssl.patch/debian.patch/ How to verify it
2 parents 0c29b23 + b1e5882 commit 57b9e16

17 files changed

+1241
-1480
lines changed

rules/openssl.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# openssl
22

3-
OPENSSL_VERSION = 1.1.1n-0+deb11u3
3+
OPENSSL_VERSION = 1.1.1n-0+deb11u4
44
OPENSSL_VERSION_FIPS = $(OPENSSL_VERSION)+fips
55
OPENSSL = openssl_$(OPENSSL_VERSION_FIPS)_$(ARCH).deb
66
$(OPENSSL)_SRC_PATH = $(SRC_PATH)/openssl

rules/symcrypt-openssl.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SYMCRYPT_OPENSSL
22

3-
SYMCRYPT_OPENSSL_VERSION = 0.6
3+
SYMCRYPT_OPENSSL_VERSION = 0.7
44
SYMCRYPT_OPENSSL = symcrypt-openssl_$(SYMCRYPT_OPENSSL_VERSION)_$(ARCH).deb
55
$(SYMCRYPT_OPENSSL)_SRC_PATH = $(SRC_PATH)/SymCrypt-OpenSSL-Debian
66
$(SYMCRYPT_OPENSSL)_MAKEFILE = Makefile

src/openssl

Submodule openssl updated from 74d1773 to 4b70fed
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
diff --git a/debian/changelog b/debian/changelog
2-
index f2c3b6b4e9..eae0b966d3 100644
2+
index eae0b966d3..71103d9192 100644
33
--- a/debian/changelog
44
+++ b/debian/changelog
5-
@@ -1,3 +1,16 @@
6-
+openssl (1.1.1n-0+deb11u3) bullseye-security; urgency=medium
5+
@@ -1,3 +1,13 @@
6+
+openssl (1.1.1n-0+deb11u4) bullseye-security; urgency=medium
77
+
8-
+ * CVE-2022-2068 (The c_rehash script allows command injection).
9-
+ * Update expired certs.
8+
+ * CVE-2022-4450 (Double free after calling PEM_read_bio_ex).
9+
+ * CVE-2023-0286 (X.400 address type confusion in X.509 GeneralName).
10+
+ * CVE-2023-0215 (Use-after-free following BIO_new_NDEF).
11+
+ * CVE-2022-4304 (Timing Oracle in RSA Decryption).
12+
+ * CVE-2022-2097 (AES OCB fails to encrypt some bytes).
1013
+
11-
+ -- Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Fri, 24 Jun 2022 22:22:19 +0200
14+
+ -- Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Sun, 05 Feb 2023 22:23:17 +0100
1215
+
13-
+openssl (1.1.1n-0+deb11u2) bullseye-security; urgency=medium
14-
+
15-
+ * CVE-2022-1292 (The c_rehash script allows command injection).
16-
+
17-
+ -- Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Tue, 10 May 2022 20:37:36 +0200
18-
+
19-
openssl (1.1.1n-0+deb11u1) bullseye; urgency=medium
16+
openssl (1.1.1n-0+deb11u3) bullseye-security; urgency=medium
2017

21-
* New upstream version.
18+
* CVE-2022-2068 (The c_rehash script allows command injection).
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
From: Alex Chernyakhovsky <achernya@google.com>
2+
Date: Thu, 16 Jun 2022 12:02:37 +1000
3+
Subject: AES OCB test vectors
4+
MIME-Version: 1.0
5+
Content-Type: text/plain; charset="utf-8"
6+
Content-Transfer-Encoding: 8bit
7+
8+
Add test vectors for AES OCB for x86 AES-NI multiple of 96 byte issue.
9+
10+
Co-authored-by: Alejandro Sedeño <asedeno@google.com>
11+
Co-authored-by: David Benjamin <davidben@google.com>
12+
13+
Reviewed-by: Paul Dale <pauli@openssl.org>
14+
Reviewed-by: Tomas Mraz <tomas@openssl.org>
15+
---
16+
test/recipes/30-test_evp_data/evpciph.txt | 50 +++++++++++++++++++++++++++++++
17+
1 file changed, 50 insertions(+)
18+
19+
diff --git a/test/recipes/30-test_evp_data/evpciph.txt b/test/recipes/30-test_evp_data/evpciph.txt
20+
index 1c02ea1e9c2d..e12670d9a4b4 100644
21+
--- a/test/recipes/30-test_evp_data/evpciph.txt
22+
+++ b/test/recipes/30-test_evp_data/evpciph.txt
23+
@@ -1188,6 +1188,56 @@ Ciphertext = 09A4FD29DE949D9A9AA9924248422097AD4883B4713E6C214FF6567ADA08A967B21
24+
Operation = DECRYPT
25+
Result = CIPHERFINAL_ERROR
26+
27+
+#Test vectors generated to validate aesni_ocb_encrypt on x86
28+
+Cipher = aes-128-ocb
29+
+Key = 000102030405060708090A0B0C0D0E0F
30+
+IV = 000000000001020304050607
31+
+Tag = C14DFF7D62A13C4A3422456207453190
32+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
33+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B819333
34+
+
35+
+Cipher = aes-128-ocb
36+
+Key = 000102030405060708090A0B0C0D0E0F
37+
+IV = 000000000001020304050607
38+
+Tag = D47D84F6FF912C79B6A4223AB9BE2DB8
39+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F
40+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B8193332374120A78A1171D23ED9E9CB1ADC204
41+
+
42+
+Cipher = aes-128-ocb
43+
+Key = 000102030405060708090A0B0C0D0E0F
44+
+IV = 000000000001020304050607
45+
+Tag = 41970D13737B7BD1B5FBF49ED4412CA5
46+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071000102030405060708090A0B0C0D
47+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B8193332374120A78A1171D23ED9E9CB1ADC20412C017AD0CA498827C768DDD99B26E91
48+
+
49+
+Cipher = aes-128-ocb
50+
+Key = 000102030405060708090A0B0C0D0E0F
51+
+IV = 000000000001020304050607
52+
+Tag = BE0228651ED4E48A11BDED68D953F3A0
53+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D
54+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B8193332374120A78A1171D23ED9E9CB1ADC20412C017AD0CA498827C768DDD99B26E91EDB8681700FF30366F07AEDE8CEACC1F
55+
+
56+
+Cipher = aes-128-ocb
57+
+Key = 000102030405060708090A0B0C0D0E0F
58+
+IV = 000000000001020304050607
59+
+Tag = 17BC6E10B16E5FDC52836E7D589518C7
60+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D
61+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B8193332374120A78A1171D23ED9E9CB1ADC20412C017AD0CA498827C768DDD99B26E91EDB8681700FF30366F07AEDE8CEACC1F39BE69B91BC808FA7A193F7EEA43137B
62+
+
63+
+Cipher = aes-128-ocb
64+
+Key = 000102030405060708090A0B0C0D0E0F
65+
+IV = 000000000001020304050607
66+
+Tag = E84AAC18666116990A3A37B3A5FC55BD
67+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D
68+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B8193332374120A78A1171D23ED9E9CB1ADC20412C017AD0CA498827C768DDD99B26E91EDB8681700FF30366F07AEDE8CEACC1F39BE69B91BC808FA7A193F7EEA43137B11CF99263D693AEBDF8ADE1A1D838DED
69+
+
70+
+Cipher = aes-128-ocb
71+
+Key = 000102030405060708090A0B0C0D0E0F
72+
+IV = 000000000001020304050607
73+
+Tag = 3E5EA7EE064FE83B313E28D411E91EAD
74+
+Plaintext = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D
75+
+Ciphertext = F5186C9CC3506386919B6FD9443956E05B203313F8AB35E916AB36932EBDDCD2945901BABE7CF29404929F322F954C916065FABF8F1E52F4BD7C538C0F96899519DBC6BC504D837D8EBD1436B45D33F528CB642FA2EB2C403FE604C12B8193332374120A78A1171D23ED9E9CB1ADC20412C017AD0CA498827C768DDD99B26E91EDB8681700FF30366F07AEDE8CEACC1F39BE69B91BC808FA7A193F7EEA43137B11CF99263D693AEBDF8ADE1A1D838DED48D9E09F452F8E6FBEB76A3DED47611C
76+
+
77+
Title = AES XTS test vectors from IEEE Std 1619-2007
78+
79+
# Using the same key twice for encryption is always banned.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
From: Matt Caswell <matt@openssl.org>
2+
Date: Tue, 13 Dec 2022 15:02:26 +0000
3+
Subject: Add a test for CVE-2022-4450
4+
5+
Call PEM_read_bio_ex() and expect a failure. There should be no dangling
6+
ptrs and therefore there should be no double free if we free the ptrs on
7+
error.
8+
---
9+
test/pemtest.c | 30 ++++++++++++++++++++++++++++++
10+
1 file changed, 30 insertions(+)
11+
12+
diff --git a/test/pemtest.c b/test/pemtest.c
13+
index 3203d976be76..edeb0a12059e 100644
14+
--- a/test/pemtest.c
15+
+++ b/test/pemtest.c
16+
@@ -83,9 +83,39 @@ static int test_invalid(void)
17+
return 1;
18+
}
19+
20+
+static int test_empty_payload(void)
21+
+{
22+
+ BIO *b;
23+
+ static char *emptypay =
24+
+ "-----BEGIN CERTIFICATE-----\n"
25+
+ "-\n" /* Base64 EOF character */
26+
+ "-----END CERTIFICATE-----";
27+
+ char *name = NULL, *header = NULL;
28+
+ unsigned char *data = NULL;
29+
+ long len;
30+
+ int ret = 0;
31+
+
32+
+ b = BIO_new_mem_buf(emptypay, strlen(emptypay));
33+
+ if (!TEST_ptr(b))
34+
+ return 0;
35+
+
36+
+ /* Expected to fail because the payload is empty */
37+
+ if (!TEST_false(PEM_read_bio_ex(b, &name, &header, &data, &len, 0)))
38+
+ goto err;
39+
+
40+
+ ret = 1;
41+
+ err:
42+
+ OPENSSL_free(name);
43+
+ OPENSSL_free(header);
44+
+ OPENSSL_free(data);
45+
+ BIO_free(b);
46+
+ return ret;
47+
+}
48+
+
49+
int setup_tests(void)
50+
{
51+
ADD_ALL_TESTS(test_b64, OSSL_NELEM(b64_pem_data));
52+
ADD_TEST(test_invalid);
53+
+ ADD_TEST(test_empty_payload);
54+
return 1;
55+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
From: Matt Caswell <matt@openssl.org>
2+
Date: Tue, 13 Dec 2022 14:54:55 +0000
3+
Subject: Avoid dangling ptrs in header and data params for PEM_read_bio_ex
4+
5+
In the event of a failure in PEM_read_bio_ex() we free the buffers we
6+
allocated for the header and data buffers. However we were not clearing
7+
the ptrs stored in *header and *data. Since, on success, the caller is
8+
responsible for freeing these ptrs this can potentially lead to a double
9+
free if the caller frees them even on failure.
10+
11+
Thanks to Dawei Wang for reporting this issue.
12+
13+
Based on a proposed patch by Kurt Roeckx.
14+
15+
CVE-2022-4450
16+
---
17+
crypto/pem/pem_lib.c | 2 ++
18+
1 file changed, 2 insertions(+)
19+
20+
diff --git a/crypto/pem/pem_lib.c b/crypto/pem/pem_lib.c
21+
index 2de093595d0d..173045be21ea 100644
22+
--- a/crypto/pem/pem_lib.c
23+
+++ b/crypto/pem/pem_lib.c
24+
@@ -957,7 +957,9 @@ int PEM_read_bio_ex(BIO *bp, char **name_out, char **header,
25+
*data = pem_malloc(len, flags);
26+
if (*header == NULL || *data == NULL) {
27+
pem_free(*header, flags, 0);
28+
+ *header = NULL;
29+
pem_free(*data, flags, 0);
30+
+ *data = NULL;
31+
goto end;
32+
}
33+
BIO_read(headerB, *header, headerlen);
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
From: Hugo Landau <hlandau@openssl.org>
2+
Date: Tue, 17 Jan 2023 17:45:42 +0000
3+
Subject: CVE-2023-0286: Fix GENERAL_NAME_cmp for x400Address (1.1.1)
4+
5+
---
6+
CHANGES | 20 ++++++++++++++++++++
7+
crypto/x509v3/v3_genn.c | 2 +-
8+
include/openssl/x509v3.h | 2 +-
9+
test/v3nametest.c | 8 ++++++++
10+
4 files changed, 30 insertions(+), 2 deletions(-)
11+
12+
diff --git a/CHANGES b/CHANGES
13+
index 3ef3fa28cfa8..265555ab95c5 100644
14+
--- a/CHANGES
15+
+++ b/CHANGES
16+
@@ -7,6 +7,26 @@
17+
https://github.com/openssl/openssl/commits/ and pick the appropriate
18+
release branch.
19+
20+
+ Changes between 1.1.1s and 1.1.1t [xx XXX xxxx]
21+
+
22+
+ *) Fixed a type confusion vulnerability relating to X.400 address processing
23+
+ inside an X.509 GeneralName. X.400 addresses were parsed as an ASN1_STRING
24+
+ but subsequently interpreted by GENERAL_NAME_cmp as an ASN1_TYPE. This
25+
+ vulnerability may allow an attacker who can provide a certificate chain and
26+
+ CRL (neither of which need have a valid signature) to pass arbitrary
27+
+ pointers to a memcmp call, creating a possible read primitive, subject to
28+
+ some constraints. Refer to the advisory for more information. Thanks to
29+
+ David Benjamin for discovering this issue. (CVE-2023-0286)
30+
+
31+
+ This issue has been fixed by changing the public header file definition of
32+
+ GENERAL_NAME so that x400Address reflects the implementation. It was not
33+
+ possible for any existing application to successfully use the existing
34+
+ definition; however, if any application references the x400Address field
35+
+ (e.g. in dead code), note that the type of this field has changed. There is
36+
+ no ABI change.
37+
+
38+
+ [Hugo Landau]
39+
+
40+
Changes between 1.1.1m and 1.1.1n [15 Mar 2022]
41+
42+
*) Fixed a bug in the BN_mod_sqrt() function that can cause it to loop forever
43+
diff --git a/crypto/x509v3/v3_genn.c b/crypto/x509v3/v3_genn.c
44+
index 87a5eff47cd9..e54ddc55c957 100644
45+
--- a/crypto/x509v3/v3_genn.c
46+
+++ b/crypto/x509v3/v3_genn.c
47+
@@ -98,7 +98,7 @@ int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b)
48+
return -1;
49+
switch (a->type) {
50+
case GEN_X400:
51+
- result = ASN1_TYPE_cmp(a->d.x400Address, b->d.x400Address);
52+
+ result = ASN1_STRING_cmp(a->d.x400Address, b->d.x400Address);
53+
break;
54+
55+
case GEN_EDIPARTY:
56+
diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h
57+
index 90fa3592ce58..e61c0f29d4b4 100644
58+
--- a/include/openssl/x509v3.h
59+
+++ b/include/openssl/x509v3.h
60+
@@ -136,7 +136,7 @@ typedef struct GENERAL_NAME_st {
61+
OTHERNAME *otherName; /* otherName */
62+
ASN1_IA5STRING *rfc822Name;
63+
ASN1_IA5STRING *dNSName;
64+
- ASN1_TYPE *x400Address;
65+
+ ASN1_STRING *x400Address;
66+
X509_NAME *directoryName;
67+
EDIPARTYNAME *ediPartyName;
68+
ASN1_IA5STRING *uniformResourceIdentifier;
69+
diff --git a/test/v3nametest.c b/test/v3nametest.c
70+
index d1852190b84e..37819da8fd78 100644
71+
--- a/test/v3nametest.c
72+
+++ b/test/v3nametest.c
73+
@@ -646,6 +646,14 @@ static struct gennamedata {
74+
0xb7, 0x09, 0x02, 0x02
75+
},
76+
15
77+
+ }, {
78+
+ /*
79+
+ * Regression test for CVE-2023-0286.
80+
+ */
81+
+ {
82+
+ 0xa3, 0x00
83+
+ },
84+
+ 2
85+
}
86+
};
87+
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
From: Alex Chernyakhovsky <achernya@google.com>
2+
Date: Thu, 16 Jun 2022 12:00:22 +1000
3+
Subject: Fix AES OCB encrypt/decrypt for x86 AES-NI
4+
MIME-Version: 1.0
5+
Content-Type: text/plain; charset="utf-8"
6+
Content-Transfer-Encoding: 8bit
7+
8+
aesni_ocb_encrypt and aesni_ocb_decrypt operate by having a fast-path
9+
that performs operations on 6 16-byte blocks concurrently (the
10+
"grandloop") and then proceeds to handle the "short" tail (which can
11+
be anywhere from 0 to 5 blocks) that remain.
12+
13+
As part of initialization, the assembly initializes $len to the true
14+
length, less 96 bytes and converts it to a pointer so that the $inp
15+
can be compared to it. Each iteration of "grandloop" checks to see if
16+
there's a full 96-byte chunk to process, and if so, continues. Once
17+
this has been exhausted, it falls through to "short", which handles
18+
the remaining zero to five blocks.
19+
20+
Unfortunately, the jump at the end of "grandloop" had a fencepost
21+
error, doing a `jb` ("jump below") rather than `jbe` (jump below or
22+
equal). This should be `jbe`, as $inp is pointing to the *end* of the
23+
chunk currently being handled. If $inp == $len, that means that
24+
there's a whole 96-byte chunk waiting to be handled. If $inp > $len,
25+
then there's 5 or fewer 16-byte blocks left to be handled, and the
26+
fall-through is intended.
27+
28+
The net effect of `jb` instead of `jbe` is that the last 16-byte block
29+
of the last 96-byte chunk was completely omitted. The contents of
30+
`out` in this position were never written to. Additionally, since
31+
those bytes were never processed, the authentication tag generated is
32+
also incorrect.
33+
34+
The same fencepost error, and identical logic, exists in both
35+
aesni_ocb_encrypt and aesni_ocb_decrypt.
36+
37+
This addresses CVE-2022-2097.
38+
39+
Co-authored-by: Alejandro Sedeño <asedeno@google.com>
40+
Co-authored-by: David Benjamin <davidben@google.com>
41+
42+
Reviewed-by: Paul Dale <pauli@openssl.org>
43+
Reviewed-by: Tomas Mraz <tomas@openssl.org>
44+
---
45+
crypto/aes/asm/aesni-x86.pl | 4 ++--
46+
1 file changed, 2 insertions(+), 2 deletions(-)
47+
48+
diff --git a/crypto/aes/asm/aesni-x86.pl b/crypto/aes/asm/aesni-x86.pl
49+
index fe2b26542ab6..812758e02e04 100644
50+
--- a/crypto/aes/asm/aesni-x86.pl
51+
+++ b/crypto/aes/asm/aesni-x86.pl
52+
@@ -2027,7 +2027,7 @@ my ($l_,$block,$i1,$i3,$i5) = ($rounds_,$key_,$rounds,$len,$out);
53+
&movdqu (&QWP(-16*2,$out,$inp),$inout4);
54+
&movdqu (&QWP(-16*1,$out,$inp),$inout5);
55+
&cmp ($inp,$len); # done yet?
56+
- &jb (&label("grandloop"));
57+
+ &jbe (&label("grandloop"));
58+
59+
&set_label("short");
60+
&add ($len,16*6);
61+
@@ -2453,7 +2453,7 @@ my ($l_,$block,$i1,$i3,$i5) = ($rounds_,$key_,$rounds,$len,$out);
62+
&pxor ($rndkey1,$inout5);
63+
&movdqu (&QWP(-16*1,$out,$inp),$inout5);
64+
&cmp ($inp,$len); # done yet?
65+
- &jb (&label("grandloop"));
66+
+ &jbe (&label("grandloop"));
67+
68+
&set_label("short");
69+
&add ($len,16*6);

0 commit comments

Comments
 (0)