Commit b781906fcc for qemu.org

commit b781906fccf1e0668255f73fa9d96670a4f91ddb
Author: Jamin Lin <jamin_lin@aspeedtech.com>
Date:   Tue Aug 11 06:01:26 2026 +0000

    crypto/cipher: Add GCM to QCryptoCipherMode

    Introduce the GCM cipher mode so authenticated encryption can be built
    on top of the existing qcrypto_cipher API. GCM is an IV-based mode, so
    register it in mode_need_iv. No backend advertises it yet, so it stays
    unsupported until a backend and the AAD/tag helpers are added in the
    following patches.

    Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Acked-by: Daniel P. Berrangé <berrange@redhat.com>
    Acked-by: Markus Armbruster <armbru@redhat.com>
    Link: https://lore.kernel.org/qemu-devel/20260811060115.1849266-8-jamin_lin@aspeedtech.com
    Signed-off-by: Cédric Le Goater <clg@redhat.com>

diff --git a/crypto/cipher.c b/crypto/cipher.c
index 229710f76b..64c2339d17 100644
--- a/crypto/cipher.c
+++ b/crypto/cipher.c
@@ -66,6 +66,7 @@ static const bool mode_need_iv[QCRYPTO_CIPHER_MODE__MAX] = {
     [QCRYPTO_CIPHER_MODE_CBC] = true,
     [QCRYPTO_CIPHER_MODE_XTS] = true,
     [QCRYPTO_CIPHER_MODE_CTR] = true,
+    [QCRYPTO_CIPHER_MODE_GCM] = true,
 };


diff --git a/qapi/crypto.json b/qapi/crypto.json
index 2b55befef9..6e3a98ff68 100644
--- a/qapi/crypto.json
+++ b/qapi/crypto.json
@@ -121,10 +121,12 @@
 #
 # @ctr: Counter (Since 2.8)
 #
+# @gcm: Galois/Counter Mode (Since 11.2)
+#
 # Since: 2.6
 ##
 { 'enum': 'QCryptoCipherMode',
-  'data': ['ecb', 'cbc', 'xts', 'ctr']}
+  'data': ['ecb', 'cbc', 'xts', 'ctr', 'gcm']}

 ##
 # @QCryptoIVGenAlgo: