{"id":2183220,"url":"http://patchwork.ozlabs.org/api/patches/2183220/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260112192035.10427-9-ebiggers@kernel.org/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","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-9-ebiggers@kernel.org>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20260112192035.10427-9-ebiggers@kernel.org/","date":"2026-01-12T19:20:06","name":"[v2,08/35] crypto: aes - Remove aes-fixed-time / CONFIG_CRYPTO_AES_TI","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"c2335481cf3d20f6a237e30afdb82bb4f12b357d","submitter":{"id":74690,"url":"http://patchwork.ozlabs.org/api/people/74690/?format=json","name":"Eric Biggers","email":"ebiggers@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260112192035.10427-9-ebiggers@kernel.org/mbox/","series":[{"id":488089,"url":"http://patchwork.ozlabs.org/api/series/488089/?format=json","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/2183220/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2183220/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linuxppc-dev+bounces-15579-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=oSEzCq+j;\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-15579-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=172.234.252.31","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=oSEzCq+j;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.234.252.31; helo=sea.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 4dqj6x279nz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 13 Jan 2026 06:26:49 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dqj3b1Bbzz3btq;\n\tTue, 13 Jan 2026 06:23:55 +1100 (AEDT)","from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])\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 4dqj3Z2nmcz3bsn\n\tfor <linuxppc-dev@lists.ozlabs.org>; Tue, 13 Jan 2026 06:23:54 +1100 (AEDT)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id 4931F4374B;\n\tMon, 12 Jan 2026 19:23:22 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id B85EEC2BCB1;\n\tMon, 12 Jan 2026 19:23:21 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1768245835;\n\tcv=none;\n b=eT79GgXOifowEHMgsQSXZjZhOB45bMx2a9zAkCN/U66UmJmO8w7NCysvcJvyH1y83qF6LnhUL+JUfBsVRGmmiDU/ohoUN5/4Srb+PmJtH/1DsyP5bsk0pq1wVFGGl4pLQt4EFlO1ePUDcgxblPU4XYIfFygZ9Q1NKDmB8u1epYdi6YyopCs9Iw5ddPsnd2+VFNztIqBDPwrcf9iJ1SJIFUXcbNGWjFhdK0Qdpw0h0okwBY/BSUgr5D5qI0NyI6c0c3W3vtMsR7SCki38KY6zh858iJy6IOvQrnONYWPsbR6G8uyAxRagNcxFLeWdSELpfTSKMm6aY0nR796j3jEUOQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1768245835; c=relaxed/relaxed;\n\tbh=hHIdkrNjenKerl7v9oZhF52XZ21ubgCrF9s2N2VySnE=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=O8meLE95bWRKjOjnrSipLQF92UOC/HKJK3RgaMI8/ioiYZlq99RUCGfiArKJM5Gz0OI2+f4eINPMm98mVcBxi5Od02XdwwSCu4T6Zo/P2L81szULFP52H4gf92aCXovWsJrKnrj41JmGXRU9uwdyAOoxQI+rhA/hTWPl/xgB6X43FDq4zjmeZkIGQVjO3Z+golY3bhlIXXjrg3Fs/w8rc74PL0/+SoTZB+CoZ8T0lYN3RQgQ7t+fSESe0gm3Bq7h1bwm3HBeC/unH5Vy9i8y8D67R6f4u/svt+I2gAaYfZYiSQs4FR62yiyw6DtOa7suWgzQw+qIqNrIQGcMRYECIA==","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=oSEzCq+j; dkim-atps=neutral;\n spf=pass (client-ip=172.234.252.31; helo=sea.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=1768245802;\n\tbh=eqf3Or+nI3+CRqy3oJpCv5lnMY4rP3QtNL7pdFy6UrY=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=oSEzCq+jiR/8DC6FoKeyoJUpLSs0Yo3HfXBOqh7IEsEBy8rFgYOzBPo5leCndVDx5\n\t E/J7T4QYTGi8wBoTu9aLADQhjO5Xz+FYOhbbtIF27ehNwgyNcNkz89ywCt9q+SrLj1\n\t XiIqWs+FGgJI9XiMjudkcB4xRRLkd6rDDZCgQ3YLDJ6yJ+/p9hL8Mm7g2C3W5jNcXE\n\t tGM01jJ9jQRUosrS0/AzLS/QXtAOs1a/89jHs2rvpxNVvDHvaBQXLjt7cM0PdYhxiR\n\t fDZTm2SNAlxKf9JngwcHUG/bNnGc2D4U/DYcddPlqRTVgW+Wzq0f3jV8ovaNyvUV9K\n\t LMbfoUhzvVraw==","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 08/35] crypto: aes - Remove aes-fixed-time /\n CONFIG_CRYPTO_AES_TI","Date":"Mon, 12 Jan 2026 11:20:06 -0800","Message-ID":"<20260112192035.10427-9-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 aes-fixed-time, i.e. CONFIG_CRYPTO_AES_TI.  This was a wrapper\naround the 256-byte-table-based AES implementation in lib/crypto/aes.c,\nwith extra code to enable and disable IRQs for constant-time hardening.\n\nWhile nice in theory, in practice this had the following issues:\n\n- For bulk en/decryption it was 2-4 times slower than aes-generic.  This\n  resulted in aes-generic still being needed, creating fragmentation.\n\n- Having both aes-generic and aes-fixed-time punted an AES\n  implementation decision to distros and users who are generally\n  unprepared to handle it.  In practice, whether aes-fixed-time gets\n  used tends to be incidental and not match an explicit distro or user\n  intent.  (While aes-fixed-time has a higher priority than aes-generic,\n  whether it actually gets enabled, loaded, and used depends on the\n  kconfig and whether a modprobe of \"aes\" happens to be done.  It also\n  has a lower priority than aes-arm and aes-arm64.)\n\n- My changes to the generic AES code (in other commits) significantly\n  close the gap with aes-fixed-time anyway.  The table size is reduced\n  from 8192 bytes to 1024 bytes, and prefetching is added.\n\n- While AES code *should* be constant-time, the real solutions for that\n  are AES instructions (which most CPUs have now) or bit-slicing.  arm\n  and arm64 already have bit-sliced AES code for many modes; generic\n  bit-sliced code could be written but would be very slow for single\n  blocks.  Overall, I suggest that trying to write constant-time\n  table-based AES code is a bit futile anyway, and in the rare cases\n  where a proper AES implementation is still unavailable it's reasonable\n  to compromise with an implementation that simply prefetches the table.\n\nThus, this commit removes aes-fixed-time and CONFIG_CRYPTO_AES_TI.  The\nreplacement is just the existing CONFIG_CRYPTO_AES, which for now maps\nto the existing aes-generic code, but I'll soon be changing to use the\nimproved AES library code instead.\n\nAcked-by: Ard Biesheuvel <ardb@kernel.org>\nSigned-off-by: Eric Biggers <ebiggers@kernel.org>\n---\n arch/m68k/configs/amiga_defconfig    |  1 -\n arch/m68k/configs/apollo_defconfig   |  1 -\n arch/m68k/configs/atari_defconfig    |  1 -\n arch/m68k/configs/bvme6000_defconfig |  1 -\n arch/m68k/configs/hp300_defconfig    |  1 -\n arch/m68k/configs/mac_defconfig      |  1 -\n arch/m68k/configs/multi_defconfig    |  1 -\n arch/m68k/configs/mvme147_defconfig  |  1 -\n arch/m68k/configs/mvme16x_defconfig  |  1 -\n arch/m68k/configs/q40_defconfig      |  1 -\n arch/m68k/configs/sun3_defconfig     |  1 -\n arch/m68k/configs/sun3x_defconfig    |  1 -\n arch/s390/configs/debug_defconfig    |  2 +-\n arch/s390/configs/defconfig          |  2 +-\n crypto/Kconfig                       | 21 -------\n crypto/Makefile                      |  1 -\n crypto/aes_ti.c                      | 83 ----------------------------\n 17 files changed, 2 insertions(+), 119 deletions(-)\n delete mode 100644 crypto/aes_ti.c","diff":"diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig\nindex bfc1ee7c8158..bffcc417f44c 100644\n--- a/arch/m68k/configs/amiga_defconfig\n+++ b/arch/m68k/configs/amiga_defconfig\n@@ -553,11 +553,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig\nindex d9d1f3c4c70d..3f894c20b132 100644\n--- a/arch/m68k/configs/apollo_defconfig\n+++ b/arch/m68k/configs/apollo_defconfig\n@@ -510,11 +510,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig\nindex 523205adccc8..5c5603ca16aa 100644\n--- a/arch/m68k/configs/atari_defconfig\n+++ b/arch/m68k/configs/atari_defconfig\n@@ -530,11 +530,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig\nindex 7b0a4ef0b010..37c747ee395e 100644\n--- a/arch/m68k/configs/bvme6000_defconfig\n+++ b/arch/m68k/configs/bvme6000_defconfig\n@@ -502,11 +502,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig\nindex 089c5c394c62..1a376c2b8c45 100644\n--- a/arch/m68k/configs/hp300_defconfig\n+++ b/arch/m68k/configs/hp300_defconfig\n@@ -512,11 +512,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig\nindex 5f2484c36733..2b26450692a5 100644\n--- a/arch/m68k/configs/mac_defconfig\n+++ b/arch/m68k/configs/mac_defconfig\n@@ -529,11 +529,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig\nindex 74f0a1f6d871..012e0e1f506f 100644\n--- a/arch/m68k/configs/multi_defconfig\n+++ b/arch/m68k/configs/multi_defconfig\n@@ -616,11 +616,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig\nindex 4bee18c820e4..37634b35bfbd 100644\n--- a/arch/m68k/configs/mvme147_defconfig\n+++ b/arch/m68k/configs/mvme147_defconfig\n@@ -502,11 +502,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig\nindex 322c17e55c9a..a0d2e0070afa 100644\n--- a/arch/m68k/configs/mvme16x_defconfig\n+++ b/arch/m68k/configs/mvme16x_defconfig\n@@ -503,11 +503,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig\nindex 82f9baab8fea..62cc3964fc34 100644\n--- a/arch/m68k/configs/q40_defconfig\n+++ b/arch/m68k/configs/q40_defconfig\n@@ -519,11 +519,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig\nindex f94ad226cb5b..13107aa4a1b4 100644\n--- a/arch/m68k/configs/sun3_defconfig\n+++ b/arch/m68k/configs/sun3_defconfig\n@@ -500,11 +500,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig\nindex a5ecfc505ab2..eaab0ba08989 100644\n--- a/arch/m68k/configs/sun3x_defconfig\n+++ b/arch/m68k/configs/sun3x_defconfig\n@@ -500,11 +500,10 @@ CONFIG_CRYPTO_RSA=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n CONFIG_CRYPTO_AES=y\n-CONFIG_CRYPTO_AES_TI=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAMELLIA=m\n CONFIG_CRYPTO_CAST5=m\ndiff --git a/arch/s390/configs/debug_defconfig b/arch/s390/configs/debug_defconfig\nindex 0713914b25b4..09f4bdb9e64f 100644\n--- a/arch/s390/configs/debug_defconfig\n+++ b/arch/s390/configs/debug_defconfig\n@@ -768,11 +768,11 @@ CONFIG_CRYPTO_CRYPTD=m\n CONFIG_CRYPTO_BENCHMARK=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n-CONFIG_CRYPTO_AES_TI=m\n+CONFIG_CRYPTO_AES=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAST5=m\n CONFIG_CRYPTO_CAST6=m\ndiff --git a/arch/s390/configs/defconfig b/arch/s390/configs/defconfig\nindex c064e0cacc98..823193b9f4c6 100644\n--- a/arch/s390/configs/defconfig\n+++ b/arch/s390/configs/defconfig\n@@ -752,11 +752,11 @@ CONFIG_CRYPTO_CRYPTD=m\n CONFIG_CRYPTO_BENCHMARK=m\n CONFIG_CRYPTO_DH=m\n CONFIG_CRYPTO_ECDH=m\n CONFIG_CRYPTO_ECDSA=m\n CONFIG_CRYPTO_ECRDSA=m\n-CONFIG_CRYPTO_AES_TI=m\n+CONFIG_CRYPTO_AES=m\n CONFIG_CRYPTO_ANUBIS=m\n CONFIG_CRYPTO_ARIA=m\n CONFIG_CRYPTO_BLOWFISH=m\n CONFIG_CRYPTO_CAST5=m\n CONFIG_CRYPTO_CAST6=m\ndiff --git a/crypto/Kconfig b/crypto/Kconfig\nindex 443fe8e016fd..db6b0c2fb50e 100644\n--- a/crypto/Kconfig\n+++ b/crypto/Kconfig\n@@ -364,31 +364,10 @@ config CRYPTO_AES\n \t  demonstrates excellent performance. Rijndael's operations are\n \t  among the easiest to defend against power and timing attacks.\n \n \t  The AES specifies three key sizes: 128, 192 and 256 bits\n \n-config CRYPTO_AES_TI\n-\ttristate \"AES (Advanced Encryption Standard) (fixed time)\"\n-\tselect CRYPTO_ALGAPI\n-\tselect CRYPTO_LIB_AES\n-\thelp\n-\t  AES cipher algorithms (Rijndael)(FIPS-197, ISO/IEC 18033-3)\n-\n-\t  This is a generic implementation of AES that attempts to eliminate\n-\t  data dependent latencies as much as possible without affecting\n-\t  performance too much. It is intended for use by the generic CCM\n-\t  and GCM drivers, and other CTR or CMAC/XCBC based modes that rely\n-\t  solely on encryption (although decryption is supported as well, but\n-\t  with a more dramatic performance hit)\n-\n-\t  Instead of using 16 lookup tables of 1 KB each, (8 for encryption and\n-\t  8 for decryption), this implementation only uses just two S-boxes of\n-\t  256 bytes each, and attempts to eliminate data dependent latencies by\n-\t  prefetching the entire table into the cache at the start of each\n-\t  block. Interrupts are also disabled to avoid races where cachelines\n-\t  are evicted when the CPU is interrupted to do something else.\n-\n config CRYPTO_ANUBIS\n \ttristate \"Anubis\"\n \tdepends on CRYPTO_USER_API_ENABLE_OBSOLETE\n \tselect CRYPTO_ALGAPI\n \thelp\ndiff --git a/crypto/Makefile b/crypto/Makefile\nindex 23d3db7be425..be403dc20645 100644\n--- a/crypto/Makefile\n+++ b/crypto/Makefile\n@@ -132,11 +132,10 @@ obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o\n CFLAGS_serpent_generic.o := $(call cc-option,-fsched-pressure)  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149\n obj-$(CONFIG_CRYPTO_AES) += aes_generic.o\n CFLAGS_aes_generic.o := $(call cc-option,-fno-code-hoisting) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356\n obj-$(CONFIG_CRYPTO_SM4) += sm4.o\n obj-$(CONFIG_CRYPTO_SM4_GENERIC) += sm4_generic.o\n-obj-$(CONFIG_CRYPTO_AES_TI) += aes_ti.o\n obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o\n obj-$(CONFIG_CRYPTO_CAST_COMMON) += cast_common.o\n obj-$(CONFIG_CRYPTO_CAST5) += cast5_generic.o\n obj-$(CONFIG_CRYPTO_CAST6) += cast6_generic.o\n obj-$(CONFIG_CRYPTO_ARC4) += arc4.o\ndiff --git a/crypto/aes_ti.c b/crypto/aes_ti.c\ndeleted file mode 100644\nindex a3b342f92fab..000000000000\n--- a/crypto/aes_ti.c\n+++ /dev/null\n@@ -1,83 +0,0 @@\n-// SPDX-License-Identifier: GPL-2.0-only\n-/*\n- * Scalar fixed time AES core transform\n- *\n- * Copyright (C) 2017 Linaro Ltd <ard.biesheuvel@linaro.org>\n- */\n-\n-#include <crypto/aes.h>\n-#include <crypto/algapi.h>\n-#include <linux/module.h>\n-\n-static int aesti_set_key(struct crypto_tfm *tfm, const u8 *in_key,\n-\t\t\t unsigned int key_len)\n-{\n-\tstruct crypto_aes_ctx *ctx = crypto_tfm_ctx(tfm);\n-\n-\treturn aes_expandkey(ctx, in_key, key_len);\n-}\n-\n-static void aesti_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)\n-{\n-\tconst struct crypto_aes_ctx *ctx = crypto_tfm_ctx(tfm);\n-\tunsigned long flags;\n-\n-\t/*\n-\t * Temporarily disable interrupts to avoid races where cachelines are\n-\t * evicted when the CPU is interrupted to do something else.\n-\t */\n-\tlocal_irq_save(flags);\n-\n-\taes_encrypt(ctx, out, in);\n-\n-\tlocal_irq_restore(flags);\n-}\n-\n-static void aesti_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)\n-{\n-\tconst struct crypto_aes_ctx *ctx = crypto_tfm_ctx(tfm);\n-\tunsigned long flags;\n-\n-\t/*\n-\t * Temporarily disable interrupts to avoid races where cachelines are\n-\t * evicted when the CPU is interrupted to do something else.\n-\t */\n-\tlocal_irq_save(flags);\n-\n-\taes_decrypt(ctx, out, in);\n-\n-\tlocal_irq_restore(flags);\n-}\n-\n-static struct crypto_alg aes_alg = {\n-\t.cra_name\t\t\t= \"aes\",\n-\t.cra_driver_name\t\t= \"aes-fixed-time\",\n-\t.cra_priority\t\t\t= 100 + 1,\n-\t.cra_flags\t\t\t= CRYPTO_ALG_TYPE_CIPHER,\n-\t.cra_blocksize\t\t\t= AES_BLOCK_SIZE,\n-\t.cra_ctxsize\t\t\t= sizeof(struct crypto_aes_ctx),\n-\t.cra_module\t\t\t= THIS_MODULE,\n-\n-\t.cra_cipher.cia_min_keysize\t= AES_MIN_KEY_SIZE,\n-\t.cra_cipher.cia_max_keysize\t= AES_MAX_KEY_SIZE,\n-\t.cra_cipher.cia_setkey\t\t= aesti_set_key,\n-\t.cra_cipher.cia_encrypt\t\t= aesti_encrypt,\n-\t.cra_cipher.cia_decrypt\t\t= aesti_decrypt\n-};\n-\n-static int __init aes_init(void)\n-{\n-\treturn crypto_register_alg(&aes_alg);\n-}\n-\n-static void __exit aes_fini(void)\n-{\n-\tcrypto_unregister_alg(&aes_alg);\n-}\n-\n-module_init(aes_init);\n-module_exit(aes_fini);\n-\n-MODULE_DESCRIPTION(\"Generic fixed time AES\");\n-MODULE_AUTHOR(\"Ard Biesheuvel <ard.biesheuvel@linaro.org>\");\n-MODULE_LICENSE(\"GPL v2\");\n","prefixes":["v2","08/35"]}