get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2183192/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2183192,
    "url": "http://patchwork.ozlabs.org/api/patches/2183192/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260112192035.10427-19-ebiggers@kernel.org/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<20260112192035.10427-19-ebiggers@kernel.org>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260112192035.10427-19-ebiggers@kernel.org/",
    "date": "2026-01-12T19:20:16",
    "name": "[v2,18/35] crypto: x86/aes - Remove the superseded AES-NI crypto_cipher",
    "commit_ref": null,
    "pull_url": null,
    "state": "handled-elsewhere",
    "archived": false,
    "hash": "014a021a3d23b1c6ac1e421a758cf0889dca45f0",
    "submitter": {
        "id": 74690,
        "url": "http://patchwork.ozlabs.org/api/people/74690/?format=api",
        "name": "Eric Biggers",
        "email": "ebiggers@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260112192035.10427-19-ebiggers@kernel.org/mbox/",
    "series": [
        {
            "id": 488089,
            "url": "http://patchwork.ozlabs.org/api/series/488089/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=488089",
            "date": "2026-01-12T19:19:58",
            "name": "AES library improvements",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/488089/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2183192/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2183192/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-15561-incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linuxppc-dev@lists.ozlabs.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=Ay5G6LzS;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-15561-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=none smtp.remote-ip=172.105.4.254",
            "lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org",
            "lists.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=Ay5G6LzS;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=ebiggers@kernel.org; receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4dqj494LVdz1xpk\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 13 Jan 2026 06:24:25 +1100 (AEDT)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dqj366cY9z2yrX;\n\tTue, 13 Jan 2026 06:23:30 +1100 (AEDT)",
            "from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])\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 lists.ozlabs.org (Postfix) with ESMTPS id 4dqj360Q4hz2yr8\n\tfor <linuxppc-dev@lists.ozlabs.org>; Tue, 13 Jan 2026 06:23:30 +1100 (AEDT)",
            "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id 27288600AE;\n\tMon, 12 Jan 2026 19:23:28 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 71A7BC19425;\n\tMon, 12 Jan 2026 19:23:27 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1768245810;\n\tcv=none;\n b=M7uBXOSn99Uz8H0vFV1okec+jLZ2f845DfLtDsfn9GtIqcYauwUO9z7CfL2t1qy26V1VoD65TlX5IUy+m/lBqHZCg/79r5/mc4Y/+X/FiMB9yPYScjq2NqH43ks2QP5RHD/zNErWDj5ncgezPAEvU8PlElWP+aVjgK5Z8CrN0oM/Vi5odFxQDtqsg6aIZh8mG2URAu4BUFOjQdYCDyeA35nJxxXLVY2lWIWBbUMlCbhuM5NXDRetYIOAw1L9zQYcxFWC6AjTPakzofWZtR59pqCUqlTo2/A/JiZKoYbKZykqVMNXpgK5XrCawTJMWXw+taOhWCV8Iqj7Ny+RfqN3TQ==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1768245810; c=relaxed/relaxed;\n\tbh=L+EnRH1g2DxHBBymUf+q3bVJCfNZw4HDZebKbbj/uZY=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=kHWjfysKcL0QgITSVvcK+3f4bX7+W3kZSH4BiusZJjSeAT/buYHNgvgVCaoLqepLCuUsXU7uudIXBOIHvxsVogx8l+IeLLdqzC2p/Mi9BS6JMbSVglKSaOyhGAFjrnoUgcFKLL0P5rxeAH5dk7h1SfT/mRGcoZzMvydAINLw7HFL2NJaMhY3F/4vHKQDEEZtG79bC+gx7ASt1xJ5BCSXbYgct0n5A3SRYBxTJ/QpoXj8rSS1GvodWebHLnAZy0v/uFuA6RtvVDD1m5xNDgmmzSguhv9x+VgDdouoj3OJR8KopCaulS0B+JHgaga1Xo/FKXrtZUFoML5BgX6aYVevGw==",
        "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=Ay5G6LzS; dkim-atps=neutral;\n spf=pass (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=ebiggers@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1768245807;\n\tbh=m1HqAVYYLBo37842YK27RA2eN4A4DCl4kda+cKOalmc=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=Ay5G6LzS0TepQWECrnd1UNKNmhVN/JTshHR0wmsfP1OOwI9u5AkJPDr76FOgjudMY\n\t vKnapPZ1SOj8AKvDkmjmOz5gTyaAXlgGMlNLCthjfeE9DhA8eMKmoryyXWNHTX+1CT\n\t orreVCnr/AQnxb2HQJB/iqv645l5YeXsXDgadecfs3ivkHoNvGMndAOcFI195nanVo\n\t CGrCFEe4YlJacesB5s1MsW4ZwYjhmU+q/5DO9sVVx9jxlyLuFi3MFd+YbSbh7s95fJ\n\t W/W7Gz0DuLaczz0BJ3a4KaPIx5ivLQZVYl/STh8a/adzozevdl7kFIMdE7/jDkugIJ\n\t g+9KWBsLktsMQ==",
        "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\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-riscv@lists.infradead.org,\n\tlinux-s390@vger.kernel.org,\n\tsparclinux@vger.kernel.org,\n\tx86@kernel.org,\n\tHolger Dengler <dengler@linux.ibm.com>,\n\tHarald Freudenberger <freude@linux.ibm.com>,\n\tEric Biggers <ebiggers@kernel.org>",
        "Subject": "[PATCH v2 18/35] crypto: x86/aes - Remove the superseded AES-NI\n crypto_cipher",
        "Date": "Mon, 12 Jan 2026 11:20:16 -0800",
        "Message-ID": "<20260112192035.10427-19-ebiggers@kernel.org>",
        "X-Mailer": "git-send-email 2.52.0",
        "In-Reply-To": "<20260112192035.10427-1-ebiggers@kernel.org>",
        "References": "<20260112192035.10427-1-ebiggers@kernel.org>",
        "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org",
        "List-Id": "<linuxppc-dev.lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>",
        "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>",
        "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>",
        "Precedence": "list",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Spam-Status": "No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"
    },
    "content": "Remove the \"aes-aesni\" crypto_cipher algorithm and the code specific to\nits implementation.  It is no longer necessary because the AES library\nis now optimized with x86 AES-NI, and crypto/aes.c exposes the AES\nlibrary via the crypto_cipher API.\n\nAcked-by: Ard Biesheuvel <ardb@kernel.org>\nSigned-off-by: Eric Biggers <ebiggers@kernel.org>\n---\n arch/x86/crypto/Kconfig            |  2 -\n arch/x86/crypto/aesni-intel_asm.S  | 25 ------------\n arch/x86/crypto/aesni-intel_glue.c | 62 +-----------------------------\n 3 files changed, 1 insertion(+), 88 deletions(-)",
    "diff": "diff --git a/arch/x86/crypto/Kconfig b/arch/x86/crypto/Kconfig\nindex ebb0838eaf30..7fb2319a0916 100644\n--- a/arch/x86/crypto/Kconfig\n+++ b/arch/x86/crypto/Kconfig\n@@ -5,14 +5,12 @@ menu \"Accelerated Cryptographic Algorithms for CPU (x86)\"\n config CRYPTO_AES_NI_INTEL\n \ttristate \"Ciphers: AES, modes: ECB, CBC, CTS, CTR, XCTR, XTS, GCM (AES-NI/VAES)\"\n \tselect CRYPTO_AEAD\n \tselect CRYPTO_LIB_AES\n \tselect CRYPTO_LIB_GF128MUL\n-\tselect CRYPTO_ALGAPI\n \tselect CRYPTO_SKCIPHER\n \thelp\n-\t  Block cipher: AES cipher algorithms\n \t  AEAD cipher: AES with GCM\n \t  Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS\n \n \t  Architecture: x86 (32-bit and 64-bit) using:\n \t  - AES-NI (AES new instructions)\ndiff --git a/arch/x86/crypto/aesni-intel_asm.S b/arch/x86/crypto/aesni-intel_asm.S\nindex b37881bb9f15..6abe5e38a6d7 100644\n--- a/arch/x86/crypto/aesni-intel_asm.S\n+++ b/arch/x86/crypto/aesni-intel_asm.S\n@@ -434,35 +434,10 @@ SYM_FUNC_START_LOCAL(_aesni_enc4)\n \taesenclast KEY, STATE3\n \taesenclast KEY, STATE4\n \tRET\n SYM_FUNC_END(_aesni_enc4)\n \n-/*\n- * void aesni_dec (const void *ctx, u8 *dst, const u8 *src)\n- */\n-SYM_FUNC_START(aesni_dec)\n-\tFRAME_BEGIN\n-#ifndef __x86_64__\n-\tpushl KEYP\n-\tpushl KLEN\n-\tmovl (FRAME_OFFSET+12)(%esp), KEYP\t# ctx\n-\tmovl (FRAME_OFFSET+16)(%esp), OUTP\t# dst\n-\tmovl (FRAME_OFFSET+20)(%esp), INP\t# src\n-#endif\n-\tmov 480(KEYP), KLEN\t\t# key length\n-\tadd $240, KEYP\n-\tmovups (INP), STATE\t\t# input\n-\tcall _aesni_dec1\n-\tmovups STATE, (OUTP)\t\t#output\n-#ifndef __x86_64__\n-\tpopl KLEN\n-\tpopl KEYP\n-#endif\n-\tFRAME_END\n-\tRET\n-SYM_FUNC_END(aesni_dec)\n-\n /*\n  * _aesni_dec1:\t\tinternal ABI\n  * input:\n  *\tKEYP:\t\tkey struct pointer\n  *\tKLEN:\t\tkey length\ndiff --git a/arch/x86/crypto/aesni-intel_glue.c b/arch/x86/crypto/aesni-intel_glue.c\nindex 48405e02d6e4..453e0e890041 100644\n--- a/arch/x86/crypto/aesni-intel_glue.c\n+++ b/arch/x86/crypto/aesni-intel_glue.c\n@@ -58,11 +58,10 @@ static inline void *aes_align_addr(void *addr)\n }\n \n asmlinkage void aesni_set_key(struct crypto_aes_ctx *ctx, const u8 *in_key,\n \t\t\t      unsigned int key_len);\n asmlinkage void aesni_enc(const void *ctx, u8 *out, const u8 *in);\n-asmlinkage void aesni_dec(const void *ctx, u8 *out, const u8 *in);\n asmlinkage void aesni_ecb_enc(struct crypto_aes_ctx *ctx, u8 *out,\n \t\t\t      const u8 *in, unsigned int len);\n asmlinkage void aesni_ecb_dec(struct crypto_aes_ctx *ctx, u8 *out,\n \t\t\t      const u8 *in, unsigned int len);\n asmlinkage void aesni_cbc_enc(struct crypto_aes_ctx *ctx, u8 *out,\n@@ -111,43 +110,10 @@ static int aes_set_key_common(struct crypto_aes_ctx *ctx,\n \taesni_set_key(ctx, in_key, key_len);\n \tkernel_fpu_end();\n \treturn 0;\n }\n \n-static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key,\n-\t\t       unsigned int key_len)\n-{\n-\treturn aes_set_key_common(aes_ctx(crypto_tfm_ctx(tfm)), in_key,\n-\t\t\t\t  key_len);\n-}\n-\n-static void aesni_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)\n-{\n-\tstruct crypto_aes_ctx *ctx = aes_ctx(crypto_tfm_ctx(tfm));\n-\n-\tif (!crypto_simd_usable()) {\n-\t\taes_encrypt(ctx, dst, src);\n-\t} else {\n-\t\tkernel_fpu_begin();\n-\t\taesni_enc(ctx, dst, src);\n-\t\tkernel_fpu_end();\n-\t}\n-}\n-\n-static void aesni_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)\n-{\n-\tstruct crypto_aes_ctx *ctx = aes_ctx(crypto_tfm_ctx(tfm));\n-\n-\tif (!crypto_simd_usable()) {\n-\t\taes_decrypt(ctx, dst, src);\n-\t} else {\n-\t\tkernel_fpu_begin();\n-\t\taesni_dec(ctx, dst, src);\n-\t\tkernel_fpu_end();\n-\t}\n-}\n-\n static int aesni_skcipher_setkey(struct crypto_skcipher *tfm, const u8 *key,\n \t\t\t         unsigned int len)\n {\n \treturn aes_set_key_common(aes_ctx(crypto_skcipher_ctx(tfm)), key, len);\n }\n@@ -542,29 +508,10 @@ static int xts_encrypt_aesni(struct skcipher_request *req)\n static int xts_decrypt_aesni(struct skcipher_request *req)\n {\n \treturn xts_crypt(req, aesni_xts_encrypt_iv, aesni_xts_decrypt);\n }\n \n-static struct crypto_alg aesni_cipher_alg = {\n-\t.cra_name\t\t= \"aes\",\n-\t.cra_driver_name\t= \"aes-aesni\",\n-\t.cra_priority\t\t= 300,\n-\t.cra_flags\t\t= CRYPTO_ALG_TYPE_CIPHER,\n-\t.cra_blocksize\t\t= AES_BLOCK_SIZE,\n-\t.cra_ctxsize\t\t= CRYPTO_AES_CTX_SIZE,\n-\t.cra_module\t\t= THIS_MODULE,\n-\t.cra_u\t= {\n-\t\t.cipher\t= {\n-\t\t\t.cia_min_keysize\t= AES_MIN_KEY_SIZE,\n-\t\t\t.cia_max_keysize\t= AES_MAX_KEY_SIZE,\n-\t\t\t.cia_setkey\t\t= aes_set_key,\n-\t\t\t.cia_encrypt\t\t= aesni_encrypt,\n-\t\t\t.cia_decrypt\t\t= aesni_decrypt\n-\t\t}\n-\t}\n-};\n-\n static struct skcipher_alg aesni_skciphers[] = {\n \t{\n \t\t.base = {\n \t\t\t.cra_name\t\t= \"ecb(aes)\",\n \t\t\t.cra_driver_name\t= \"ecb-aes-aesni\",\n@@ -1687,18 +1634,14 @@ static int __init aesni_init(void)\n \tint err;\n \n \tif (!x86_match_cpu(aesni_cpu_id))\n \t\treturn -ENODEV;\n \n-\terr = crypto_register_alg(&aesni_cipher_alg);\n-\tif (err)\n-\t\treturn err;\n-\n \terr = crypto_register_skciphers(aesni_skciphers,\n \t\t\t\t\tARRAY_SIZE(aesni_skciphers));\n \tif (err)\n-\t\tgoto unregister_cipher;\n+\t\treturn err;\n \n \terr = crypto_register_aeads(aes_gcm_algs_aesni,\n \t\t\t\t    ARRAY_SIZE(aes_gcm_algs_aesni));\n \tif (err)\n \t\tgoto unregister_skciphers;\n@@ -1714,22 +1657,19 @@ static int __init aesni_init(void)\n \tcrypto_unregister_aeads(aes_gcm_algs_aesni,\n \t\t\t\tARRAY_SIZE(aes_gcm_algs_aesni));\n unregister_skciphers:\n \tcrypto_unregister_skciphers(aesni_skciphers,\n \t\t\t\t    ARRAY_SIZE(aesni_skciphers));\n-unregister_cipher:\n-\tcrypto_unregister_alg(&aesni_cipher_alg);\n \treturn err;\n }\n \n static void __exit aesni_exit(void)\n {\n \tcrypto_unregister_aeads(aes_gcm_algs_aesni,\n \t\t\t\tARRAY_SIZE(aes_gcm_algs_aesni));\n \tcrypto_unregister_skciphers(aesni_skciphers,\n \t\t\t\t    ARRAY_SIZE(aesni_skciphers));\n-\tcrypto_unregister_alg(&aesni_cipher_alg);\n \tunregister_avx_algs();\n }\n \n module_init(aesni_init);\n module_exit(aesni_exit);\n",
    "prefixes": [
        "v2",
        "18/35"
    ]
}