Show a cover letter.

GET /api/1.0/covers/2197942/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2197942,
    "url": "http://patchwork.ozlabs.org/api/1.0/covers/2197942/?format=api",
    "project": {
        "id": 12,
        "url": "http://patchwork.ozlabs.org/api/1.0/projects/12/?format=api",
        "name": "Linux CIFS Client",
        "link_name": "linux-cifs-client",
        "list_id": "linux-cifs.vger.kernel.org",
        "list_email": "linux-cifs@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260218213501.136844-1-ebiggers@kernel.org>",
    "date": "2026-02-18T21:34:46",
    "name": "[00/15] AES-CMAC library",
    "submitter": {
        "id": 74690,
        "url": "http://patchwork.ozlabs.org/api/1.0/people/74690/?format=api",
        "name": "Eric Biggers",
        "email": "ebiggers@kernel.org"
    },
    "series": [
        {
            "id": 492621,
            "url": "http://patchwork.ozlabs.org/api/1.0/series/492621/?format=api",
            "date": "2026-02-18T21:34:46",
            "name": "AES-CMAC library",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492621/mbox/"
        }
    ],
    "headers": {
        "Return-Path": "\n <linux-cifs+bounces-9441-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-cifs@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=ZieEykj7;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=linux-cifs+bounces-9441-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"ZieEykj7\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"
        ],
        "Received": [
            "from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGVFz1XSFz1xvS\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 19 Feb 2026 08:36:55 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 5298530066A4\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 21:36:52 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 29AF42EBDDE;\n\tWed, 18 Feb 2026 21:36:50 +0000 (UTC)",
            "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 03CE32E8B64;\n\tWed, 18 Feb 2026 21:36:50 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 65688C19421;\n\tWed, 18 Feb 2026 21:36:49 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771450610; cv=none;\n b=gEzYcqeC46U75AX5Isd9aWrBEwnKW/3uf80RpjsBJ1HjqvAv7dV8G+tbdIF4H60F84f6gH9kpQJAVvlQQgiIBEl5MHoyrMDgYIH8yhfRJ+9kZMyaSJzCtk/bho2A33w7igPizpFcMkITusx+82uZkBonYMGR2a3RHxwxqX9yh7I=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771450610; c=relaxed/simple;\n\tbh=wf8/GUqvoI3GfA7MCp1kWAe/s3LxP5yqBgsjAILj20U=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=C5zuYkU56z6el7+tjL773hyWXTl5ftgXG3ulpukRS3uv2KvOwR9fHVa/hnvSPqrDUqx76li2kSj0otAc4Y7m39Bvray/VMFkkudnqYMsdT/tmCv/fxG1OjjPcMOEURTWfGo9Ffwfpzw32JNC6cDdmVJnPgCA7stN++jxwKKzASw=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=ZieEykj7; arc=none smtp.client-ip=10.30.226.201",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1771450609;\n\tbh=wf8/GUqvoI3GfA7MCp1kWAe/s3LxP5yqBgsjAILj20U=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=ZieEykj75bB8BK4FB/0RkIiO554XHDyNUfjzIEXtza8cRLodsTCv0sVmUGbwZE2Bb\n\t TTsymEYxdfgkxxSQPoULk5eT1oyszXBfuLr/w+iFz6uENOOlE/c9bLlEHwFmpy/t/w\n\t CbopT4u9KznPzJ65+1qUN0MGNREaS9QjjIFanVQbVBKNSSbdd+5E4KNe7xT9mDqwDF\n\t cMRQh2LQormCJUd6riFfvUJmQUKK826D45RR92WfsCHpEmSczUmK8m4pa9ggTQ1kNk\n\t NlI/zKSetmtqB8MVwi0BthwVzDJkTTAga9Xfjel0zlhqukUyy8Eo7kwp8QhE5f0zQg\n\t WJchilasLghsg==",
        "From": "Eric Biggers <ebiggers@kernel.org>",
        "To": "linux-crypto@vger.kernel.org",
        "Cc": "linux-kernel@vger.kernel.org,\n\tArd Biesheuvel <ardb@kernel.org>,\n\t\"Jason A . Donenfeld\" <Jason@zx2c4.com>,\n\tHerbert Xu <herbert@gondor.apana.org.au>,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-cifs@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org,\n\tEric Biggers <ebiggers@kernel.org>",
        "Subject": "[PATCH 00/15] AES-CMAC library",
        "Date": "Wed, 18 Feb 2026 13:34:46 -0800",
        "Message-ID": "<20260218213501.136844-1-ebiggers@kernel.org>",
        "X-Mailer": "git-send-email 2.53.0",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-cifs@vger.kernel.org",
        "List-Id": "<linux-cifs.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-cifs+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-cifs+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit"
    },
    "content": "This series can also be retrieved from:\n\n    git fetch https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git aes-cmac-v1\n\nThis series adds support for AES CBC-based MACs to the crypto library,\nspecifically AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC.  The\nimplementation is fully optimized with the existing\narchitecture-optimized AES code, either single-block AES en/decryption\nor arm64's neon_aes_mac_update() and ce_aes_mac_update().  As usual,\noptimizations are now enabled by default as well.\n\nAES-CMAC support will be useful for at least the SMB client and server,\nand the bluetooth and mac80211 drivers.  Patches 8-15 convert these\nusers to use the crypto library API instead of crypto_shash, though\nthese patches will likely go in via subsystem trees later.  They result\nin some significant simplifications and performance improvements.\n\nAs usual, a KUnit test suite, FIPS self-test, and traditional crypto API\nwrapper algorithms are included as well.\n\nNote that I'm also planning to add additional AES modes to the library.\nThis is just an initial set of AES modes to get things started.\nNotably, with the SMB client and server already using the SHA* and MD5\nlibraries, \"cmac(aes)\" was the only remaining use of crypto_shash there.\nSo it makes sense to take care of that.\n\nEric Biggers (15):\n  lib/crypto: aes: Add support for CBC-based MACs\n  crypto: aes - Add cmac, xcbc, and cbcmac algorithms using library\n  crypto: arm64/aes - Fix 32-bit aes_mac_update() arg treated as 64-bit\n  lib/crypto: arm64/aes: Move assembly code for AES modes into libaes\n  lib/crypto: arm64/aes: Migrate optimized CBC-based MACs into library\n  lib/crypto: tests: Add KUnit tests for CBC-based MACs\n  lib/crypto: aes: Add FIPS self-test for CMAC\n  smb: client: Use AES-CMAC library for SMB3 signature calculation\n  smb: client: Remove obsolete cmac(aes) allocation\n  smb: client: Make generate_key() return void\n  smb: client: Drop 'allocate_crypto' arg from smb*_calc_signature()\n  ksmbd: Use AES-CMAC library for SMB3 signature calculation\n  Bluetooth: SMP: Use AES-CMAC library API\n  wifi: mac80211: Use AES-CMAC library in ieee80211_aes_cmac()\n  wifi: mac80211: Use AES-CMAC library in aes_s2v()\n\n arch/arm64/crypto/Kconfig                     |   2 +-\n arch/arm64/crypto/Makefile                    |   4 +-\n arch/arm64/crypto/aes-ce-ccm-glue.c           |   4 -\n arch/arm64/crypto/aes-glue.c                  | 260 +-----------------\n arch/arm64/crypto/aes-neonbs-glue.c           |  15 +-\n crypto/Kconfig                                |   2 +\n crypto/aes.c                                  | 183 +++++++++++-\n crypto/testmgr.c                              |  10 +-\n drivers/crypto/starfive/jh7110-aes.c          |   2 +-\n fs/smb/client/Kconfig                         |   2 +-\n fs/smb/client/cifs_unicode.c                  |   1 +\n fs/smb/client/cifsencrypt.c                   |  62 ++---\n fs/smb/client/cifsfs.c                        |   1 -\n fs/smb/client/cifsglob.h                      |   7 +-\n fs/smb/client/cifsproto.h                     |   3 -\n fs/smb/client/misc.c                          |  57 ----\n fs/smb/client/sess.c                          |  11 -\n fs/smb/client/smb2proto.h                     |   1 -\n fs/smb/client/smb2transport.c                 | 113 ++------\n fs/smb/server/Kconfig                         |   2 +-\n fs/smb/server/auth.c                          |  51 +---\n fs/smb/server/auth.h                          |   4 +-\n fs/smb/server/crypto_ctx.c                    |  58 ----\n fs/smb/server/crypto_ctx.h                    |  12 -\n fs/smb/server/server.c                        |   1 -\n fs/smb/server/smb2pdu.c                       |   8 +-\n include/crypto/aes-cbc-macs.h                 | 154 +++++++++++\n include/crypto/aes.h                          |  66 +++++\n lib/crypto/Kconfig                            |  10 +\n lib/crypto/Makefile                           |   4 +-\n lib/crypto/aes.c                              | 231 +++++++++++++++-\n .../crypto => lib/crypto/arm64}/aes-ce.S      |   0\n .../crypto => lib/crypto/arm64}/aes-modes.S   |  23 +-\n .../crypto => lib/crypto/arm64}/aes-neon.S    |   0\n lib/crypto/arm64/aes.h                        |  76 ++++-\n lib/crypto/fips.h                             |   5 +\n lib/crypto/tests/Kconfig                      |  10 +\n lib/crypto/tests/Makefile                     |   1 +\n lib/crypto/tests/aes-cmac-testvecs.h          | 181 ++++++++++++\n lib/crypto/tests/aes_cbc_macs_kunit.c         | 228 +++++++++++++++\n net/bluetooth/Kconfig                         |   3 +-\n net/bluetooth/smp.c                           | 180 +++++-------\n net/mac80211/Kconfig                          |   2 +-\n net/mac80211/aes_cmac.c                       |  65 +----\n net/mac80211/aes_cmac.h                       |  12 +-\n net/mac80211/fils_aead.c                      |  48 ++--\n net/mac80211/key.c                            |  11 +-\n net/mac80211/key.h                            |   3 +-\n net/mac80211/wpa.c                            |  13 +-\n scripts/crypto/gen-fips-testvecs.py           |  10 +\n scripts/crypto/gen-hash-testvecs.py           |  31 ++-\n 51 files changed, 1388 insertions(+), 855 deletions(-)\n create mode 100644 include/crypto/aes-cbc-macs.h\n rename {arch/arm64/crypto => lib/crypto/arm64}/aes-ce.S (100%)\n rename {arch/arm64/crypto => lib/crypto/arm64}/aes-modes.S (98%)\n rename {arch/arm64/crypto => lib/crypto/arm64}/aes-neon.S (100%)\n create mode 100644 lib/crypto/tests/aes-cmac-testvecs.h\n create mode 100644 lib/crypto/tests/aes_cbc_macs_kunit.c\n\n\nbase-commit: 2961f841b025fb234860bac26dfb7fa7cb0fb122\nprerequisite-patch-id: 8eccdd31739fb317dfda9dddbfc5c3cd64e77331\nprerequisite-patch-id: ca782470cef2467042fbe8f0166933d7fa292628"
}