crypto: arc4 - Remove obsolete crypto API support for ARC4
Subsystems (9)
PATCH 1/1 crypto: arc4 - Remove obsolete crypto API support for ARC4
All in-kernel users of ARC4 use the ARC4 library (lib/crypto/arc4.c) directly, not the crypto API wrapper (crypto/arc4.c).
Removal of the crypto API wrapper was attempted in 2020
(https://lore.kernel.org/linux-crypto/[email protected]/)
but was delayed due to its use by iwd via AF_ALG. This was, however, soon afterwards resolved by making iwd simply use userspace ARC4 code
(https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=1db8a85a60c645232eb5bba1ec0cd0a2927ccd16),
which was released in iwd 1.9 in September 2020.
Also at the time, CONFIG_CRYPTO_ARC4 was placed under CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE, and the kernel started printing a warning whenever "ecb(arc4)" is used. See commit 9ace67718310 ("crypto: arc4 - mark ecb(arc4) skcipher as obsolete"). So, any other hypothetical user would have had 6 years of deprecation warnings, even if somehow they were overlooking that ARC4 is insecure.
Finally, "ecb(arc4)" isn't on the skcipher_allowlist introduced in v7.3, so it's no longer available in AF_ALG by default even if CONFIG_CRYPTO_ARC4 is enabled.
Given all this, it's clear that the crypto_skcipher / crypto_lskcipher API support for ARC4 is no longer used or needed. Remove it.
The ARC4 library remains in place, as it's still used in the kernel to support certain legacy protocols. (Note: since this removes the only ARC4 test, I'll also add a KUnit test to replace it in a later commit.)
--- arch/arm/configs/am200epdkit_defconfig | 1 - arch/arm/configs/spitz_defconfig | 1 - arch/m68k/configs/amiga_defconfig | 1 - arch/m68k/configs/apollo_defconfig | 1 - arch/m68k/configs/atari_defconfig | 1 - arch/m68k/configs/bvme6000_defconfig | 1 - arch/m68k/configs/hp300_defconfig | 1 - arch/m68k/configs/mac_defconfig | 1 - arch/m68k/configs/multi_defconfig | 1 - arch/m68k/configs/mvme147_defconfig | 1 - arch/m68k/configs/mvme16x_defconfig | 1 - arch/m68k/configs/q40_defconfig | 1 - arch/m68k/configs/sun3_defconfig | 1 - arch/m68k/configs/sun3x_defconfig | 1 - arch/mips/configs/decstation_defconfig | 1 - arch/mips/configs/decstation_r4k_defconfig | 1 - arch/mips/configs/ip32_defconfig | 1 - arch/mips/configs/rt305x_defconfig | 1 - arch/mips/configs/xway_defconfig | 1 - arch/powerpc/configs/44x/eiger_defconfig | 1 - arch/powerpc/configs/44x/redwood_defconfig | 1 - arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/sh/configs/sh2007_defconfig | 1 - arch/sh/configs/titan_defconfig | 1 - arch/sparc/configs/sparc32_defconfig | 1 - crypto/Kconfig | 13 ---- crypto/Makefile | 1 - crypto/arc4.c | 82 ---------------------- crypto/tcrypt.c | 19 ----- crypto/testmgr.c | 7 -- crypto/testmgr.h | 62 ---------------- include/crypto/arc4.h | 3 +- 33 files changed, 1 insertion(+), 212 deletions(-) delete mode 100644 crypto/arc4.c
arch/arm/configs/am200epdkit_defconfig +0 -1
@@ -85,7 +85,6 @@ CONFIG_DEBUG_KERNEL=y CONFIG_CRYPTO=y CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_ARC4=m # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_PREEMPT is not set CONFIG_DEBUG_USER=y
arch/arm/configs/spitz_defconfig +0 -1
@@ -217,7 +217,6 @@ CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m
arch/m68k/configs/amiga_defconfig +0 -1
@@ -527,7 +527,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/apollo_defconfig +0 -1
@@ -481,7 +481,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/atari_defconfig +0 -1
@@ -506,7 +506,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/bvme6000_defconfig +0 -1
@@ -473,7 +473,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/hp300_defconfig +0 -1
@@ -483,7 +483,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/mac_defconfig +0 -1
@@ -502,7 +502,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/multi_defconfig +0 -1
@@ -592,7 +592,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/mvme147_defconfig +0 -1
@@ -473,7 +473,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/mvme16x_defconfig +0 -1
@@ -474,7 +474,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/q40_defconfig +0 -1
@@ -492,7 +492,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/sun3_defconfig +0 -1
@@ -471,7 +471,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/m68k/configs/sun3x_defconfig +0 -1
@@ -471,7 +471,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m
arch/mips/configs/decstation_defconfig +0 -1
@@ -178,7 +178,6 @@ CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/decstation_r4k_defconfig +0 -1
@@ -178,7 +178,6 @@ CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/ip32_defconfig +0 -1
@@ -162,7 +162,6 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_WP512=y CONFIG_CRYPTO_ANUBIS=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=y
arch/mips/configs/rt305x_defconfig +0 -1
@@ -126,7 +126,6 @@ CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_ZLIB is not set CONFIG_SQUASHFS_XZ=y -CONFIG_CRYPTO_ARC4=m # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set # CONFIG_XZ_DEC_IA64 is not set
arch/mips/configs/xway_defconfig +0 -1
@@ -138,7 +138,6 @@ CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_ZLIB is not set CONFIG_SQUASHFS_XZ=y -CONFIG_CRYPTO_ARC4=m CONFIG_PRINTK_TIME=y CONFIG_STRIP_ASM_SYMS=y CONFIG_DEBUG_FS=y
arch/powerpc/configs/44x/eiger_defconfig +0 -1
@@ -85,6 +85,5 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/44x/redwood_defconfig +0 -1
@@ -84,6 +84,5 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_DES=y
arch/s390/configs/debug_defconfig +0 -1
@@ -802,7 +802,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_AEGIS128=m
arch/s390/configs/defconfig +0 -1
@@ -786,7 +786,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_AEGIS128=m
arch/sh/configs/sh2007_defconfig +0 -1
@@ -176,7 +176,6 @@ CONFIG_CRYPTO_TGR192=y CONFIG_CRYPTO_WP512=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANUBIS=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=y
arch/sh/configs/titan_defconfig +0 -1
@@ -252,7 +252,6 @@ CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m
arch/sparc/configs/sparc32_defconfig +0 -1
@@ -84,7 +84,6 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m
crypto/Kconfig +0 -13
@@ -613,19 +613,6 @@ config CRYPTO_ADIANTUM If unsure, say N. -config CRYPTO_ARC4 - tristate "ARC4 (Alleged Rivest Cipher 4)" - depends on CRYPTO_USER_API_ENABLE_OBSOLETE - select CRYPTO_SKCIPHER - select CRYPTO_LIB_ARC4 - help - ARC4 cipher algorithm - - ARC4 is a stream cipher using keys ranging from 8 bits to 2048 - bits in length. This algorithm is required for driver-based - WEP, but it should not be for other purposes because of the - weakness of the algorithm. - config CRYPTO_CHACHA20 tristate "ChaCha" select CRYPTO_LIB_CHACHA
crypto/Makefile +0 -1
@@ -133,7 +133,6 @@ obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o obj-$(CONFIG_CRYPTO_CAST_COMMON) += cast_common.o obj-$(CONFIG_CRYPTO_CAST5) += cast5_generic.o obj-$(CONFIG_CRYPTO_CAST6) += cast6_generic.o -obj-$(CONFIG_CRYPTO_ARC4) += arc4.o obj-$(CONFIG_CRYPTO_TEA) += tea.o obj-$(CONFIG_CRYPTO_KHAZAD) += khazad.o obj-$(CONFIG_CRYPTO_ANUBIS) += anubis.o
crypto/arc4.c deleted +0 -82
82 lines not on this page · raw message
crypto/tcrypt.c +0 -19
@@ -1579,10 +1579,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ret =min (ret,tcrypt_test ("xts(cast6)" ));break ; -case 16 : - ret =min (ret,tcrypt_test ("ecb(arc4)" )); -break ; -case 18 : ret =min (ret,tcrypt_test ("crc32c" ));break ;
@@ -1995,11 +1991,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) speed_template_32_64);break ; -case 208 : -test_cipher_speed ("ecb(arc4)" ,ENCRYPT , sec,NULL ,0 , - speed_template_8); -break ; -case 209 :test_cipher_speed ("ecb(cast5)" ,ENCRYPT , sec,NULL ,0 , speed_template_8_16);
@@ -2486,11 +2477,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) speed_template_32_48_64);break ; -case 505 : -test_acipher_speed ("ecb(arc4)" ,ENCRYPT , sec,NULL ,0 , - speed_template_8); -break ; -case 506 :test_acipher_speed ("ecb(cast5)" ,ENCRYPT , sec,NULL ,0 , speed_template_8_16);
@@ -2709,11 +2695,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) speed_template_32_48_64, num_mb);break ; -case 605 : -test_mb_skcipher_speed ("ecb(arc4)" ,ENCRYPT , sec,NULL ,0 , - speed_template_8, num_mb); -break ; -case 606 :test_mb_skcipher_speed ("ecb(cast5)" ,ENCRYPT , sec,NULL ,0 , speed_template_8_16, num_mb);
crypto/testmgr.c +0 -7
@@ -4665,13 +4665,6 @@ static const struct alg_test_desc alg_test_descs[] = { .suite = { .cipher = __VECS(anubis_tv_template) } - }, { - .alg = "ecb(arc4)", - .generic_driver = "arc4-generic", - .test = alg_test_skcipher, - .suite = { - .cipher = __VECS(arc4_tv_template) - } }, { .alg = "ecb(aria)", .test = alg_test_skcipher,
crypto/testmgr.h +0 -62
68 lines not on this page · raw message
include/crypto/arc4.h +1 -2
@@ -1,6 +1,6 @@/* SPDX-License-Identifier: GPL-2.0+ */ /* -* Common values for ARC4 Cipher Algorithm +* ARC4 Cipher Algorithm */ #ifndef _CRYPTO_ARC4_H
@@ -10,7 +10,6 @@#define ARC4_MIN_KEY_SIZE 1#define ARC4_MAX_KEY_SIZE 256 -#define ARC4_BLOCK_SIZE 1struct arc4_ctx {u32 S[256 ];
base-commit: e9954f3fbddd25e1a01b7e5a0b72fb8b564204e0
Signature · 1 line
2.56.0
Quoted 57 lines · Eric Biggers
All in-kernel users of ARC4 use the ARC4 library (
lib/crypto/arc4.c) directly, not the crypto API wrapper (crypto/arc4.c).Removal of the crypto API wrapper was attempted in 2020
(https://lore.kernel.org/linux-crypto/[email protected]/)
but was delayed due to its use by iwd viaAF_ALG. This was, however, soon afterwards resolved by making iwd simply use userspace ARC4 code
(https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=1db8a85a60c645232eb5bba1ec0cd0a2927ccd16),
which was released in iwd 1.9 in September 2020.Also at the time,
CONFIG_CRYPTO_ARC4was placed underCONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE, and the kernel started printing a warning whenever "ecb(arc4)" is used. See commit9ace67718310("crypto: arc4 - mark ecb(arc4) skcipher as obsolete"). So, any other hypothetical user would have had 6 years of deprecation warnings, even if somehow they were overlooking that ARC4 is insecure.Finally, "ecb(arc4)" isn't on the
skcipher_allowlistintroduced in v7.3, so it's no longer available inAF_ALGby default even ifCONFIG_CRYPTO_ARC4is enabled.Given all this, it's clear that the
crypto_skcipher/crypto_lskcipherAPI support for ARC4 is no longer used or needed. Remove it.The ARC4 library remains in place, as it's still used in the kernel to support certain legacy protocols. (Note: since this removes the only ARC4 test, I'll also add a KUnit test to replace it in a later commit.)
Signed-off-by Eric Biggers <[email protected]>--- arch/arm/configs/am200epdkit_defconfig | 1 - arch/arm/configs/spitz_defconfig | 1 - arch/m68k/configs/amiga_defconfig | 1 - arch/m68k/configs/apollo_defconfig | 1 - arch/m68k/configs/atari_defconfig | 1 - arch/m68k/configs/bvme6000_defconfig | 1 - arch/m68k/configs/hp300_defconfig | 1 - arch/m68k/configs/mac_defconfig | 1 - arch/m68k/configs/multi_defconfig | 1 - arch/m68k/configs/mvme147_defconfig | 1 - arch/m68k/configs/mvme16x_defconfig | 1 - arch/m68k/configs/q40_defconfig | 1 - arch/m68k/configs/sun3_defconfig | 1 - arch/m68k/configs/sun3x_defconfig | 1 - arch/mips/configs/decstation_defconfig | 1 - arch/mips/configs/decstation_r4k_defconfig | 1 - arch/mips/configs/ip32_defconfig | 1 - arch/mips/configs/rt305x_defconfig | 1 - arch/mips/configs/xway_defconfig | 1 - arch/powerpc/configs/44x/eiger_defconfig | 1 - arch/powerpc/configs/44x/redwood_defconfig | 1 - arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/sh/configs/sh2007_defconfig | 1 - arch/sh/configs/titan_defconfig | 1 - arch/sparc/configs/sparc32_defconfig | 1 - crypto/Kconfig | 13 ----
Quoted 9 lines
crypto/Makefile | 1 - crypto/arc4.c | 82 ---------------------- crypto/tcrypt.c | 19 ----- crypto/testmgr.c | 7 -- crypto/testmgr.h | 62 ---------------- include/crypto/arc4.h | 3 +- 33 files changed, 1 insertion(+), 212 deletions(-) delete mode 100644 crypto/arc4.c
Good riddance.
Quoted 633 lines
arch/arm/configs/am200epdkit_defconfig +0
-1@@ -85,7 +85,6 @@ CONFIG_DEBUG_KERNEL=y CONFIG_CRYPTO=y CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_ARC4=m # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_PREEMPT is not set CONFIG_DEBUG_USER=yarch/arm/configs/spitz_defconfig +0
-1@@ -217,7 +217,6 @@ CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=march/m68k/configs/amiga_defconfig +0
-1@@ -527,7 +527,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/apollo_defconfig +0
-1@@ -481,7 +481,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/atari_defconfig +0
-1@@ -506,7 +506,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/bvme6000_defconfig +0
-1@@ -473,7 +473,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/hp300_defconfig +0
-1@@ -483,7 +483,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/mac_defconfig +0
-1@@ -502,7 +502,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/multi_defconfig +0
-1@@ -592,7 +592,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/mvme147_defconfig +0
-1@@ -473,7 +473,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/mvme16x_defconfig +0
-1@@ -474,7 +474,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/q40_defconfig +0
-1@@ -492,7 +492,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/sun3_defconfig +0
-1@@ -471,7 +471,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/m68k/configs/sun3x_defconfig +0
-1@@ -471,7 +471,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=march/mips/configs/decstation_defconfig +0
-1@@ -178,7 +178,6 @@ CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=march/mips/configs/decstation_r4k_defconfig +0
-1@@ -178,7 +178,6 @@ CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=march/mips/configs/ip32_defconfig +0
-1@@ -162,7 +162,6 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_WP512=y CONFIG_CRYPTO_ANUBIS=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=yarch/mips/configs/rt305x_defconfig +0
-1@@ -126,7 +126,6 @@ CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_ZLIB is not set CONFIG_SQUASHFS_XZ=y -CONFIG_CRYPTO_ARC4=m # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set # CONFIG_XZ_DEC_IA64 is not setarch/mips/configs/xway_defconfig +0
-1@@ -138,7 +138,6 @@ CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_SQUASHFS=y # CONFIG_SQUASHFS_ZLIB is not set CONFIG_SQUASHFS_XZ=y -CONFIG_CRYPTO_ARC4=m CONFIG_PRINTK_TIME=y CONFIG_STRIP_ASM_SYMS=y CONFIG_DEBUG_FS=yarch/powerpc/configs/44x/eiger_defconfig +0
-1@@ -85,6 +85,5 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_DES=yarch/powerpc/configs/44x/redwood_defconfig +0
-1@@ -84,6 +84,5 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_DES=yarch/s390/configs/debug_defconfig +0
-1@@ -802,7 +802,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_AEGIS128=march/s390/configs/defconfig +0
-1@@ -786,7 +786,6 @@ CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_AEGIS128=march/sh/configs/sh2007_defconfig +0
-1@@ -176,7 +176,6 @@ CONFIG_CRYPTO_TGR192=y CONFIG_CRYPTO_WP512=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANUBIS=y -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=yarch/sh/configs/titan_defconfig +0
-1@@ -252,7 +252,6 @@ CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=march/sparc/configs/sparc32_defconfig +0
-1@@ -84,7 +84,6 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=mcrypto/Kconfig +0
-13@@ -613,19 +613,6 @@ config CRYPTO_ADIANTUM If unsure, say N. -config CRYPTO_ARC4 - tristate "ARC4 (Alleged Rivest Cipher 4)" - depends on CRYPTO_USER_API_ENABLE_OBSOLETE - select CRYPTO_SKCIPHER - select CRYPTO_LIB_ARC4 - help - ARC4 cipher algorithm - - ARC4 is a stream cipher using keys ranging from 8 bits to 2048 - bits in length. This algorithm is required for driver-based - WEP, but it should not be for other purposes because of the - weakness of the algorithm. - config CRYPTO_CHACHA20 tristate "ChaCha" select CRYPTO_LIB_CHACHAcrypto/Makefile +0
-1@@ -133,7 +133,6 @@ obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o obj-$(CONFIG_CRYPTO_CAST_COMMON) += cast_common.o obj-$(CONFIG_CRYPTO_CAST5) += cast5_generic.o obj-$(CONFIG_CRYPTO_CAST6) += cast6_generic.o -obj-$(CONFIG_CRYPTO_ARC4) += arc4.o obj-$(CONFIG_CRYPTO_TEA) += tea.o obj-$(CONFIG_CRYPTO_KHAZAD) += khazad.o obj-$(CONFIG_CRYPTO_ANUBIS) += anubis.ocrypto/arc4.c deleted +0
-19@@ -1,82 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* -* Cryptographic API -* -* ARC4 Cipher Algorithm -* -* Jon Oberheide <[email protected]> -*/ - -#include <crypto/arc4.h> -#include <crypto/internal/skcipher.h> -#include <linux/init.h> -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/sched.h> - -#define ARC4_ALIGN __alignof__(struct arc4_ctx) - -static int crypto_arc4_setkey(struct crypto_lskcipher *tfm, const u8
*in_key,crypto/arc4.c deleted +0
-8- unsigned int key_len) -{ -struct arc4_ctx *ctx =crypto_lskcipher_ctx (tfm); - -return arc4_setkey (ctx, in_key, key_len); -} - -static int crypto_arc4_crypt(struct crypto_lskcipher *tfm, const u8*src,
crypto/arc4.c deleted +0
-55- u8 *dst, unsigned nbytes, u8 *siv, u32 flags) -{ - struct arc4_ctx *ctx = crypto_lskcipher_ctx(tfm); - -if (!(flags &CRYPTO_LSKCIPHER_FLAG_CONT )) -memcpy (siv, ctx,sizeof (*ctx)); - - ctx = (struct arc4_ctx *)siv; - -arc4_crypt (ctx, dst, src, nbytes); -return 0 ; -} - -static int crypto_arc4_init (struct crypto_lskcipher *tfm) -{ -pr_warn_ratelimited ("\"%s\" (%ld) uses obsolete ecb(arc4) skcipher\n" , - current->comm, (unsigned long )current->pid); - -return 0 ; -} - -static struct lskcipher_alg arc4_alg = { - .co.base.cra_name ="arc4" , - .co.base.cra_driver_name ="arc4-generic" , - .co.base.cra_priority =100 , - .co.base.cra_blocksize =ARC4_BLOCK_SIZE , - .co.base.cra_ctxsize =sizeof (struct arc4_ctx ), - .co.base.cra_alignmask =ARC4_ALIGN -1 , - .co.base.cra_module =THIS_MODULE , - .co.min_keysize =ARC4_MIN_KEY_SIZE , - .co.max_keysize =ARC4_MAX_KEY_SIZE , - .co.statesize =sizeof (struct arc4_ctx ), - .setkey = crypto_arc4_setkey, - .encrypt = crypto_arc4_crypt, - .decrypt = crypto_arc4_crypt, - .init = crypto_arc4_init, -}; - -static int __init arc4_init (void ) -{ -return crypto_register_lskcipher (&arc4_alg); -} - -static void __exit arc4_exit(void) -{ -crypto_unregister_lskcipher (&arc4_alg); -} - -module_init (arc4_init); -module_exit (arc4_exit); - -MODULE_LICENSE ("GPL" ); -MODULE_DESCRIPTION ("ARC4 Cipher Algorithm" ); -MODULE_AUTHOR ("Jon Oberheide <[email protected]>" ); -MODULE_ALIAS_CRYPTO ("ecb(arc4)" );crypto/tcrypt.c +0
-4@@ -1579,10 +1579,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ret =min (ret,tcrypt_test ("xts(cast6)" ));break ; -case 16 : - ret =min (ret,tcrypt_test ("ecb(arc4)" )); -break ; -case 18 : ret =min (ret,tcrypt_test ("crc32c" ));crypto/tcrypt.c +0
-5break ;@@ -1995,11 +1991,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) speed_template_32_64);break ; -case 208 : -test_cipher_speed ("ecb(arc4)" ,ENCRYPT , sec,NULL ,0 , - speed_template_8); -break ; -case 209 : test_cipher_speed("ecb(cast5)", ENCRYPT, sec, NULL, 0,crypto/tcrypt.c +0
-5speed_template_8_16);@@ -2486,11 +2477,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) speed_template_32_48_64);break ; -case 505 : -test_acipher_speed ("ecb(arc4)" ,ENCRYPT , sec,NULL ,0 , - speed_template_8); -break ; -case 506 : test_acipher_speed("ecb(cast5)", ENCRYPT, sec, NULL, 0,crypto/tcrypt.c +0
-5speed_template_8_16);@@ -2709,11 +2695,6 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) speed_template_32_48_64, num_mb);break ; -case 605 : -test_mb_skcipher_speed ("ecb(arc4)" ,ENCRYPT , sec,NULL ,0 , - speed_template_8, num_mb); -break ; -case 606 : test_mb_skcipher_speed("ecb(cast5)", ENCRYPT, sec, NULL, 0,crypto/tcrypt.c +0
-0speed_template_8_16, num_mb);crypto/testmgr.c +0
-7@@ -4665,13 +4665,6 @@ static const struct alg_test_desc alg_test_descs[] = { .suite = { .cipher =__VECS (anubis_tv_template) } - }, { - .alg = "ecb(arc4)", - .generic_driver = "arc4-generic", - .test = alg_test_skcipher, - .suite = { - .cipher =__VECS (arc4_tv_template) - } }, { .alg = "ecb(aria)",crypto/testmgr.c +0
-0.test = alg_test_skcipher,crypto/testmgr.h +0
-62@@ -24388,68 +24388,6 @@ static const struct cipher_testvec cast5_ctr_tv_template[] = { }, }; -/* -* ARC4 test vectors from OpenSSL -*/ -static const struct cipher_testvec arc4_tv_template[] = { - { - .key ="\x01\x23\x45\x67\x89\xab\xcd\xef" , - .klen =8 , - .ptext ="\x01\x23\x45\x67\x89\xab\xcd\xef" , - .ctext ="\x75\xb7\x87\x80\x99\xe0\xc5\x96" , - .len =8 , - }, { - .key ="\x01\x23\x45\x67\x89\xab\xcd\xef" , - .klen =8 , - .ptext ="\x00\x00\x00\x00\x00\x00\x00\x00" , - .ctext ="\x74\x94\xc2\xe7\x10\x4b\x08\x79" , - .len =8 , - }, { - .key ="\x00\x00\x00\x00\x00\x00\x00\x00" , - .klen =8 , - .ptext ="\x00\x00\x00\x00\x00\x00\x00\x00" , - .ctext ="\xde\x18\x89\x41\xa3\x37\x5d\x3a" , - .len =8 , - }, { - .key ="\xef\x01\x23\x45" , - .klen =4 , - .ptext ="\x00\x00\x00\x00\x00\x00\x00\x00" -"\x00\x00\x00\x00\x00\x00\x00\x00" -"\x00\x00\x00\x00" , - .ctext ="\xd6\xa1\x41\xa7\xec\x3c\x38\xdf" -"\xbd\x61\x5a\x11\x62\xe1\xc7\xba" -"\x36\xb6\x78\x58" , - .len =20 , - }, { - .key ="\x01\x23\x45\x67\x89\xab\xcd\xef" , - .klen =8 , - .ptext ="\x12\x34\x56\x78\x9A\xBC\xDE\xF0" -"\x12\x34\x56\x78\x9A\xBC\xDE\xF0" -"\x12\x34\x56\x78\x9A\xBC\xDE\xF0" -"\x12\x34\x56\x78" , - .ctext ="\x66\xa0\x94\x9f\x8a\xf7\xd6\x89" -"\x1f\x7f\x83\x2b\xa8\x33\xc0\x0c" -"\x89\x2e\xbe\x30\x14\x3c\xe2\x87" -"\x40\x01\x1e\xcf" , - .len =28 , - }, { - .key ="\xef\x01\x23\x45" , - .klen =4 , - .ptext ="\x00\x00\x00\x00\x00\x00\x00\x00" -"\x00\x00" , - .ctext ="\xd6\xa1\x41\xa7\xec\x3c\x38\xdf" -"\xbd\x61" , - .len =10 , - }, { - .key ="\x01\x23\x45\x67\x89\xAB\xCD\xEF" -"\x00\x00\x00\x00\x00\x00\x00\x00" , - .klen =16 , - .ptext ="\x01\x23\x45\x67\x89\xAB\xCD\xEF" , - .ctext ="\x69\x72\x36\x59\x1B\x52\x42\xB1" , - .len =8 , - }, -}; -/* * TEA test vectors */
include/crypto/arc4.h +1
-2@@ -1,6 +1,6 @@/* SPDX-License-Identifier: GPL-2.0+ */ /* -* Common values for ARC4 Cipher Algorithm +* ARC4 Cipher Algorithm */ #ifndef _CRYPTO_ARC4_H@@ -10,7 +10,6 @@#define ARC4_MIN_KEY_SIZE 1#define ARC4_MAX_KEY_SIZE 256 -#define ARC4_BLOCK_SIZE 1struct arc4_ctx {u32 S[256 ];base-commit:
e9954f3fbddd25e1a01b7e5a0b72fb8b564204e0Signature · 1 line
2.56.0
Quoted 64 lines · Eric Biggers
All in-kernel users of ARC4 use the ARC4 library (
lib/crypto/arc4.c) directly, not the crypto API wrapper (crypto/arc4.c).Removal of the crypto API wrapper was attempted in 2020
(https://lore.kernel.org/linux-crypto/[email protected]/)
but was delayed due to its use by iwd viaAF_ALG. This was, however, soon afterwards resolved by making iwd simply use userspace ARC4 code
(https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=1db8a85a60c645232eb5bba1ec0cd0a2927ccd16),
which was released in iwd 1.9 in September 2020.Also at the time,
CONFIG_CRYPTO_ARC4was placed underCONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE, and the kernel started printing a warning whenever "ecb(arc4)" is used. See commit9ace67718310("crypto: arc4 - mark ecb(arc4) skcipher as obsolete"). So, any other hypothetical user would have had 6 years of deprecation warnings, even if somehow they were overlooking that ARC4 is insecure.Finally, "ecb(arc4)" isn't on the
skcipher_allowlistintroduced in v7.3, so it's no longer available inAF_ALGby default even ifCONFIG_CRYPTO_ARC4is enabled.Given all this, it's clear that the
crypto_skcipher/crypto_lskcipherAPI support for ARC4 is no longer used or needed. Remove it.The ARC4 library remains in place, as it's still used in the kernel to support certain legacy protocols. (Note: since this removes the only ARC4 test, I'll also add a KUnit test to replace it in a later commit.)
Signed-off-by Eric Biggers <[email protected]>--- arch/arm/configs/am200epdkit_defconfig | 1 - arch/arm/configs/spitz_defconfig | 1 - arch/m68k/configs/amiga_defconfig | 1 - arch/m68k/configs/apollo_defconfig | 1 - arch/m68k/configs/atari_defconfig | 1 - arch/m68k/configs/bvme6000_defconfig | 1 - arch/m68k/configs/hp300_defconfig | 1 - arch/m68k/configs/mac_defconfig | 1 - arch/m68k/configs/multi_defconfig | 1 - arch/m68k/configs/mvme147_defconfig | 1 - arch/m68k/configs/mvme16x_defconfig | 1 - arch/m68k/configs/q40_defconfig | 1 - arch/m68k/configs/sun3_defconfig | 1 - arch/m68k/configs/sun3x_defconfig | 1 - arch/mips/configs/decstation_defconfig | 1 - arch/mips/configs/decstation_r4k_defconfig | 1 - arch/mips/configs/ip32_defconfig | 1 - arch/mips/configs/rt305x_defconfig | 1 - arch/mips/configs/xway_defconfig | 1 - arch/powerpc/configs/44x/eiger_defconfig | 1 - arch/powerpc/configs/44x/redwood_defconfig | 1 - arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/sh/configs/sh2007_defconfig | 1 - arch/sh/configs/titan_defconfig | 1 - arch/sparc/configs/sparc32_defconfig | 1 - crypto/Kconfig | 13 ---- crypto/Makefile | 1 - crypto/arc4.c | 82 ---------------------- crypto/tcrypt.c | 19 ----- crypto/testmgr.c | 7 -- crypto/testmgr.h | 62 ---------------- include/crypto/arc4.h | 3 +- 33 files changed, 1 insertion(+), 212 deletions(-)
Quoted 1 line
delete mode 100644
crypto/arc4.c