The branch main has been updated by gonzo:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=748be78e60ccc4a26325a636347debb1f7e6749b

commit 748be78e60ccc4a26325a636347debb1f7e6749b
Author:     Oleksandr Tymoshenko <[email protected]>
AuthorDate: 2021-03-07 20:03:47 +0000
Commit:     Oleksandr Tymoshenko <[email protected]>
CommitDate: 2021-03-07 20:03:47 +0000

    armv8crypto: fix AES-XTS regression introduced by ed9b7f44
    
    Initialization of the XTS key schedule was accidentally dropped
    when adding AES-GCM support so all-zero schedule was used instead.
    This rendered previously created GELI partitions unusable.
    This change restores proper XTS key schedule initialization.
    
    Reported by:    Peter Jeremy <[email protected]>
    MFC after:      immediately
---
 sys/crypto/armv8/armv8_crypto.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/crypto/armv8/armv8_crypto.c b/sys/crypto/armv8/armv8_crypto.c
index 24f6eff5608d..95bb96124323 100644
--- a/sys/crypto/armv8/armv8_crypto.c
+++ b/sys/crypto/armv8/armv8_crypto.c
@@ -305,6 +305,9 @@ armv8_crypto_cipher_setup(struct armv8_crypto_session *ses,
                aes_v8_set_decrypt_key(key,
                    keylen * 8, &ses->dec_schedule);
 
+       if (csp->csp_cipher_alg == CRYPTO_AES_XTS)
+               aes_v8_set_encrypt_key(key + keylen, keylen * 8, 
&ses->xts_schedule);
+
        if (csp->csp_cipher_alg == CRYPTO_AES_NIST_GCM_16) {
                memset(H.c, 0, sizeof(H.c));
                aes_v8_encrypt(H.c, H.c, &ses->enc_schedule);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "[email protected]"

Reply via email to