Consolidate FCrypt and PCBC code into net/rxrpc/
Subsystems (16)
cover Consolidate FCrypt and PCBC code into net/rxrpc/
[This series applies to v7.1-rc1 and is intended to be taken via net-next. Patches 4-5 could be left for later if desired.]
The FCrypt "block cipher" and the PCBC mode of operation are obsolete and insecure. Since their only user is net/rxrpc/, they belong there, not in the crypto API.
Therefore, this series removes these algorithms from the crypto API and replaces them with local implementations in net/rxrpc/.
The local implementations are simpler too, as they avoid the crypto API boilerplate.
I don't know how to test all the code in net/rxrpc/, but everything should still work. I added a KUnit test for the crypto functions.
Eric Biggers (5):
net/rxrpc: Add local FCrypt-PCBC implementation net/rxrpc: Use local FCrypt-PCBC implementation net/rxrpc: Reimplement DES-PCBC using DES library
crypto: fcrypt - Remove support for FCrypt block cipher
crypto: pcbc - Remove support for PCBC mode
arch/arm/configs/am200epdkit_defconfig | 1 -
arch/arm/configs/dove_defconfig | 1 -
arch/arm/configs/multi_v5_defconfig | 1 -
arch/arm/configs/mv78xx0_defconfig | 1 -
arch/arm/configs/mvebu_v5_defconfig | 1 -
arch/arm/configs/omap1_defconfig | 1 -
arch/arm/configs/orion5x_defconfig | 1 -
arch/arm/configs/pxa_defconfig | 2 -
arch/arm/configs/wpcm450_defconfig | 1 -
arch/m68k/configs/amiga_defconfig | 2 -
arch/m68k/configs/apollo_defconfig | 2 -
arch/m68k/configs/atari_defconfig | 2 -
arch/m68k/configs/bvme6000_defconfig | 2 -
arch/m68k/configs/hp300_defconfig | 2 -
arch/m68k/configs/mac_defconfig | 2 -
arch/m68k/configs/multi_defconfig | 2 -
arch/m68k/configs/mvme147_defconfig | 2 -
arch/m68k/configs/mvme16x_defconfig | 2 -
arch/m68k/configs/q40_defconfig | 2 -
arch/m68k/configs/sun3_defconfig | 2 -
arch/m68k/configs/sun3x_defconfig | 2 -
arch/mips/configs/bigsur_defconfig | 2 -
arch/mips/configs/decstation_64_defconfig | 2 -
arch/mips/configs/decstation_defconfig | 2 -
arch/mips/configs/decstation_r4k_defconfig | 2 -
arch/mips/configs/fuloong2e_defconfig | 1 -
arch/mips/configs/gpr_defconfig | 1 -
arch/mips/configs/ip22_defconfig | 2 -
arch/mips/configs/ip27_defconfig | 2 -
arch/mips/configs/ip30_defconfig | 2 -
arch/mips/configs/ip32_defconfig | 2 -
arch/mips/configs/lemote2f_defconfig | 2 -
arch/mips/configs/malta_defconfig | 2 -
arch/mips/configs/malta_kvm_defconfig | 2 -
arch/mips/configs/malta_qemu_32r6_defconfig | 1 -
arch/mips/configs/maltaaprp_defconfig | 1 -
arch/mips/configs/maltasmvp_defconfig | 1 -
arch/mips/configs/maltasmvp_eva_defconfig | 1 -
arch/mips/configs/maltaup_defconfig | 1 -
arch/mips/configs/maltaup_xpa_defconfig | 2 -
arch/mips/configs/mtx1_defconfig | 1 -
arch/mips/configs/rm200_defconfig | 2 -
arch/mips/configs/sb1250_swarm_defconfig | 2 -
arch/parisc/configs/generic-64bit_defconfig | 2 -
arch/powerpc/configs/44x/akebono_defconfig | 1 -
arch/powerpc/configs/44x/bamboo_defconfig | 1 -
arch/powerpc/configs/44x/currituck_defconfig | 1 -
arch/powerpc/configs/44x/ebony_defconfig | 1 -
arch/powerpc/configs/44x/eiger_defconfig | 1 -
arch/powerpc/configs/44x/fsp2_defconfig | 1 -
arch/powerpc/configs/44x/icon_defconfig | 1 -
arch/powerpc/configs/44x/iss476-smp_defconfig | 1 -
arch/powerpc/configs/44x/katmai_defconfig | 1 -
arch/powerpc/configs/44x/rainier_defconfig | 1 -
arch/powerpc/configs/44x/redwood_defconfig | 1 -
arch/powerpc/configs/44x/sequoia_defconfig | 1 -
arch/powerpc/configs/44x/taishan_defconfig | 1 -
arch/powerpc/configs/52xx/cm5200_defconfig | 1 -
arch/powerpc/configs/52xx/motionpro_defconfig | 1 -
arch/powerpc/configs/52xx/tqm5200_defconfig | 1 -
arch/powerpc/configs/83xx/asp8347_defconfig | 1 -
.../configs/83xx/mpc8313_rdb_defconfig | 1 -
.../configs/83xx/mpc8315_rdb_defconfig | 1 -
.../configs/83xx/mpc832x_rdb_defconfig | 1 -
.../configs/83xx/mpc834x_itx_defconfig | 1 -
.../configs/83xx/mpc834x_itxgp_defconfig | 1 -
.../configs/83xx/mpc837x_rdb_defconfig | 1 -
arch/powerpc/configs/amigaone_defconfig | 1 -
arch/powerpc/configs/cell_defconfig | 1 -
arch/powerpc/configs/chrp32_defconfig | 1 -
arch/powerpc/configs/ep8248e_defconfig | 1 -
arch/powerpc/configs/fsl-emb-nonhw.config | 1 -
arch/powerpc/configs/g5_defconfig | 1 -
arch/powerpc/configs/linkstation_defconfig | 1 -
arch/powerpc/configs/mgcoge_defconfig | 1 -
arch/powerpc/configs/mpc83xx_defconfig | 1 -
arch/powerpc/configs/mvme5100_defconfig | 1 -
arch/powerpc/configs/pmac32_defconfig | 1 -
arch/powerpc/configs/powernv_defconfig | 1 -
arch/powerpc/configs/ppc44x_defconfig | 1 -
arch/powerpc/configs/ppc64_defconfig | 1 -
arch/powerpc/configs/ppc64e_defconfig | 1 -
arch/powerpc/configs/ppc6xx_defconfig | 2 -
arch/powerpc/configs/ps3_defconfig | 1 -
arch/s390/configs/debug_defconfig | 2 -
arch/s390/configs/defconfig | 2 -
arch/sh/configs/hp6xx_defconfig | 1 -
arch/sh/configs/r7780mp_defconfig | 1 -
arch/sh/configs/r7785rp_defconfig | 1 -
arch/sh/configs/se7712_defconfig | 1 -
arch/sh/configs/sh2007_defconfig | 2 -
arch/sparc/configs/sparc32_defconfig | 1 -
arch/sparc/configs/sparc64_defconfig | 2 -
crypto/Kconfig | 18 -
crypto/Makefile | 2 -
crypto/pcbc.c | 195 -------
crypto/tcrypt.c | 4 -
crypto/testmgr.c | 15 -
crypto/testmgr.h | 45 --
net/rxrpc/.kunitconfig | 6 +
net/rxrpc/Kconfig | 13 +-
net/rxrpc/Makefile | 3 +-
net/rxrpc/ar-internal.h | 21 +-
{crypto => net/rxrpc}/fcrypt.c | 329 +++++-------
net/rxrpc/key.c | 1 -
net/rxrpc/rxkad.c | 479 +++++-------------
net/rxrpc/server_key.c | 1 -
net/rxrpc/tests/Makefile | 3 +
net/rxrpc/tests/rxrpc_kunit.c | 140 +++++
109 files changed, 445 insertions(+), 956 deletions(-)
delete mode 100644 crypto/pcbc.c
create mode 100644 net/rxrpc/.kunitconfig
rename {crypto => net/rxrpc}/fcrypt.c (65%)
create mode 100644 net/rxrpc/tests/Makefile
create mode 100644 net/rxrpc/tests/rxrpc_kunit.cbase-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
Signature · 1 line
2.54.0
PATCH 1/5 net/rxrpc: Add local FCrypt-PCBC implementation
Add a local implementation of FCrypt-PCBC encryption and decryption. This will be used instead of the crypto API one, allowing the crypto API one to be removed. It will also simplify rxkad.c quite a bit.
A KUnit test is included. The FCrypt-PCBC test vectors are borrowed from the existing ones in crypto/testmgr.h. Note that this adds the first KUnit test for net/rxrpc/, which previously had no KUnit tests.
The FCrypt code is based on crypto/fcrypt.c, but I simplified it a bit. The PCBC part is straightforward and I just wrote it from scratch.
Tested with:
kunit.py run --kunitconfig net/rxrpc/
--- net/rxrpc/.kunitconfig | 6 + net/rxrpc/Kconfig | 7 + net/rxrpc/Makefile | 3 +- net/rxrpc/ar-internal.h | 14 ++ net/rxrpc/fcrypt.c | 351 ++++++++++++++++++++++++++++++++++ net/rxrpc/tests/Makefile | 3 + net/rxrpc/tests/rxrpc_kunit.c | 109 +++++++++++ 7 files changed, 492 insertions(+), 1 deletion(-) create mode 100644 net/rxrpc/.kunitconfig create mode 100644 net/rxrpc/fcrypt.c create mode 100644 net/rxrpc/tests/Makefile create mode 100644 net/rxrpc/tests/rxrpc_kunit.c
net/rxrpc/.kunitconfig new file +6 -0
@@ -0,0 +1,6 @@ +CONFIG_KUNIT=y +CONFIG_NET=y +CONFIG_INET=y +CONFIG_AF_RXRPC=y +CONFIG_RXKAD=y +CONFIG_AF_RXRPC_KUNIT_TEST=y
net/rxrpc/Kconfig +7 -0
@@ -95,6 +95,13 @@ config RXPERF help Provide an rxperf service tester. This listens on UDP port 7009 for incoming calls from the rxperf program (an example of which can be found in OpenAFS). +config AF_RXRPC_KUNIT_TEST + tristate "RxRPC KUnit test" if !KUNIT_ALL_TESTS + depends on KUNIT && RXKAD + default KUNIT_ALL_TESTS + help + Enable the RxRPC KUnit test suite. + endif
net/rxrpc/Makefile +2 -1
@@ -36,13 +36,14 @@ rxrpc-y := \ skbuff.o \ txbuf.o \ utils.o rxrpc-$(CONFIG_PROC_FS) += proc.o -rxrpc-$(CONFIG_RXKAD) += rxkad.o +rxrpc-$(CONFIG_RXKAD) += rxkad.o fcrypt.o rxrpc-$(CONFIG_SYSCTL) += sysctl.o rxrpc-$(CONFIG_RXGK) += \ rxgk.o \ rxgk_app.o \ rxgk_kdf.o obj-$(CONFIG_RXPERF) += rxperf.o +obj-$(CONFIG_KUNIT) += tests/
net/rxrpc/ar-internal.h +14 -0
@@ -13,18 +13,32 @@#include <net/sock.h> #include <net/af_rxrpc.h> #include <keys/rxrpc-type.h> #include "protocol.h" +#define FCRYPT_ROUNDS 16 + +struct fcrypt_key { +__be32 sched[FCRYPT_ROUNDS ]; +}; +#define FCRYPT_BSIZE 8struct rxrpc_crypt {union {u8 x[FCRYPT_BSIZE ];__be32 n[2 ]; }; } __attribute__((aligned (8 ))); +void fcrypt_preparekey (struct fcrypt_key *key,const u8 raw_key[FCRYPT_BSIZE ]); +void fcrypt_pcbc_encrypt (const struct fcrypt_key *key, +const u8 iv[FCRYPT_BSIZE ],const void *src,void *dst, +size_t nblocks); +void fcrypt_pcbc_decrypt (const struct fcrypt_key *key, +const u8 iv[FCRYPT_BSIZE ],const void *src,void *dst, +size_t nblocks); +#define rxrpc_queue_work (WS ) queue_work(rxrpc_workqueue, (WS))#define rxrpc_queue_delayed_work (WS ,D ) \ queue_delayed_work(rxrpc_workqueue, (WS), (D))struct key_preparsed_payload ;
net/rxrpc/fcrypt.c new file +351 -0
351 lines not on this page · raw message
net/rxrpc/tests/Makefile new file +3 -0
@@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0 + +obj-$(CONFIG_AF_RXRPC_KUNIT_TEST) += rxrpc_kunit.o
net/rxrpc/tests/rxrpc_kunit.c new file +109 -0
109 lines not on this page · raw message
Signature · 1 line
2.54.0
David Howells
maintainerRe: [PATCH net-next 1/5] net/rxrpc: Add local FCrypt-PCBC implementation
net/rxrpc/Kconfig config RXPERF · line 105
Quoted 6 lines · Eric Biggers
net/rxrpc/Kconfig +6
-0+config AF_RXRPC_KUNIT_TEST + tristate "RxRPC KUnit test" if !KUNIT_ALL_TESTS + depends on KUNIT && RXKAD + default KUNIT_ALL_TESTS + help + Enable the RxRPC KUnit test suite.
The description isn't really accurate. It doesn't test rxrpc per se. Can you change it to "fcrypt kunit test" or "RxRPC fcrypt KUnit test"?
David
David Howells
maintainerRe: [PATCH net-next 1/5] net/rxrpc: Add local FCrypt-PCBC implementation
In reply to Eric BiggersQuoted 1 line · Eric Biggers
+void
fcrypt_preparekey(struct fcrypt_key *key, const u8 raw_key[FCRYPT_BSIZE])
Needs exporting.
David
[email protected]
AI reviewRe: [PATCH net-next 1/5] net/rxrpc: Add local FCrypt-PCBC implementation
In reply to Eric BiggersThank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] Missing export of `fcrypt_preparekey` causes a module build failure for the KUnit test. --
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing export of fcrypt_preparekey causes a module build failure for the KUnit test. --
commit 987b9c773f38843aea47501d809de294b68d6aa0
Author: Eric Biggers <[email protected]>
net/rxrpc: Add local FCrypt-PCBC implementation
This commit adds a local implementation of FCrypt-PCBC encryption and decryption to replace the crypto API version. It also introduces a KUnit test suite for the net/rxrpc/ functions.
Quoted 5 lines
net/rxrpc/fcrypt.c new file +0
-0
[ ... ]
Quoted 5 lines
net/rxrpc/fcrypt.c new file +5
-0+void fcrypt_preparekey (struct fcrypt_key *key,const u8 raw_key[FCRYPT_BSIZE ]) +{ +u64 k =0 ; + +/* Load the 56 non-parity bits of the key. Discard the parity bits. */
net/rxrpc/fcrypt.c line 292
Quoted 10 lines
net/rxrpc/fcrypt.c new file +10
-0+for (int i =0 ; i <8 ; i++) + k = (k <<7 ) | (raw_key[i] >>1 ); + +/* Generate the key schedule word for each round. */ +for (int i =0 ; i <FCRYPT_ROUNDS ; i++) { + key->sched[i] =cpu_to_be32 (k); +/* Rotate the low 56 bits of 'k' right by 11 bits. */ + k = (k >>11 ) | ((k & ((1 <<11 ) -1 )) << (56 -11 )); + } +}
Since the KUnit test is defined as a tristate in Kconfig and built as a separate module (rxrpc_kunit.ko) when CONFIG_AF_RXRPC_KUNIT_TEST=m, does this function also need an EXPORT_SYMBOL_IF_KUNIT() to avoid a modpost undefined symbol error?
Quoted 18 lines
net/rxrpc/fcrypt.c new file +18
-0+ +/** +* fcrypt_pcbc_encrypt - Encrypt data using FCrypt cipher in PCBC mode +* @key: The key +* @iv: The 8-byte initialization vector +* @src: The source data +* @dst: The destination data. Both in-place and out-of-place are supported. +* @nblocks: The number of 8-byte blocks to encrypt +* +* WARNING: This cipher is insecure. Not only is the 56-bit key easily +* brute-forced, the cipher itself is cryptographically weak and doesn't even +* provide the intended 56-bit security level. It effectively just acts as an +* obfuscation algorithm. It is supported only for backwards compatibility. +*/ +void fcrypt_pcbc_encrypt (const struct fcrypt_key *key, +const u8 iv[FCRYPT_BSIZE ],const void *src,void *dst, +size_t nblocks) +{
[ ... ]
net/rxrpc/fcrypt.c
Quoted 2 lines
net/rxrpc/fcrypt.c new file +2
-0+} +EXPORT_SYMBOL_IF_KUNIT (fcrypt_pcbc_encrypt);
It looks like EXPORT_SYMBOL_IF_KUNIT() was included for fcrypt_pcbc_encrypt() and fcrypt_pcbc_decrypt(), but missed for fcrypt_preparekey(), which is also called by the new test suite.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
Re: [PATCH net-next 1/5] net/rxrpc: Add local FCrypt-PCBC implementation
Quoted 3 lines · On Fri, Oct 30, 2026 at 04:53:34AM +0000, [email protected] wrote:
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing export offcrypt_preparekeycauses a module build failure for the KUnit test. --
This was addressed in the version that was actually merged.
It's not clear why these emails are being sent just now.
- Eric
PATCH 2/5 net/rxrpc: Use local FCrypt-PCBC implementation
In reply to Eric BiggersUse the local implementation of FCrypt-PCBC instead of the crypto API one. This will allow the crypto API one to be removed. It also simplifies the code quite a bit.
The local FCrypt-PCBC implementation is also significantly faster than the crypto API one, since the crypto API one had a lot of overhead. For example, benchmarking on an x86_64 CPU, I see that FCrypt-PCBC decryption throughput improved from 83 MB/s to 157 MB/s.
(Meanwhile, AES-256-GCM decryption is 8064 MB/s on the same CPU. Clearly, anyone looking for good performance, or anything that is actually secure for that matter, needs to look elsewhere anyway.)
Note that in rxkad_verify_packet_2(), we start linearizing the skb. That makes decryption much simpler to implement. The case where the skb is already linear becomes much more efficient, as well, since we no longer do all the scatterlist stuff in that case. Linearization has its disadvantages, of course, but in this particular case it seems like a reasonable trade-off to simplify this insecure legacy code and keep it working for backwards compatibility.
--- net/rxrpc/Kconfig | 1 - net/rxrpc/ar-internal.h | 2 +- net/rxrpc/rxkad.c | 403 ++++++++++------------------------------ 3 files changed, 95 insertions(+), 311 deletions(-)
net/rxrpc/Kconfig +0 -1
@@ -58,11 +58,10 @@ config RXKAD bool "RxRPC Kerberos security" select CRYPTO select CRYPTO_MANAGER select CRYPTO_SKCIPHER select CRYPTO_PCBC - select CRYPTO_FCRYPT help Provide kerberos 4 and AFS kaserver security handling for AF_RXRPC through the use of the key retention service. See Documentation/networking/rxrpc.rst.
net/rxrpc/ar-internal.h +1 -1
@@ -576,11 +576,11 @@ struct rxrpc_connection {struct mutex security_lock;/* Lock for security management */ const struct rxrpc_security *security;/* applied security module */ union {struct { -struct crypto_sync_skcipher *cipher;/* encryption handle */ +struct fcrypt_key *cipher;/* encryption key */ struct rxrpc_crypt csum_iv;/* packet checksum base */ u32 nonce;/* response re-use preventer */ } rxkad;struct {struct rxgk_context *keys[4 ];/* (Re-)keying buffer */
net/rxrpc/rxkad.c +94 -309
765 lines not on this page · raw message
Signature · 1 line
2.54.0
David Howells
maintainerRe: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
net/rxrpc/rxkad.c static int rxkad_verify_packet_1(struct rxrpc_call *call, struct sk_buff *skb, · line 422
Quoted 2 lines · Eric Biggers
net/rxrpc/rxkad.c +2
-0+if (skb_linearize (skb) <0 ) +return -ENOMEM ;
It seems skb_linearize() doesn't like being used in this fashion:
kernel BUG at net/core/skbuff.c:2295! ... RIP: 0010:pskb_expand_head+0x41/0x220 __pskb_pull_tail+0x5e/0x2f0 rxkad_verify_packet_2+0xa8/0x190 rxkad_verify_packet+0x12c/0x150 rxrpc_recvmsg_data+0x1b0/0x470 rxrpc_kernel_recv_data+0xa6/0x210 afs_extract_data+0x5e/0x180 yfs_deliver_fs_fetch_data64+0x10b/0x200 afs_deliver_to_call+0xea/0x440 afs_read_receive+0x8d/0x150 afs_fetch_data_async_rx+0x12/0x20 process_one_work+0x18e/0x2b0
which corresponds to this:
BUG_ON(skb_shared(skb));
Presumably this is done because fcrypt_pcbc_decrypt() doesn't handle being called on a split buffer. I think this may require skb_copy() to be used instead, but that would need to be handled in rxrpc_input_call_event().
I think rxkad_decrypt_response() should be okay because the encrypted data is extracted into a buffer first before being decrypted.
David
Re: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
Quoted 24 lines · David Howells
net/rxrpc/rxkad.c static int rxkad_verify_packet_1(struct rxrpc_call *call, struct sk_buff *skb, · line 422
Quoted 2 lines · Eric Biggers
net/rxrpc/rxkad.c +2
-0+if (skb_linearize (skb) <0 ) +return -ENOMEM ;It seems
skb_linearize()doesn't like being used in this fashion:kernel BUG at net/core/skbuff.c:2295! ... RIP: 0010:pskb_expand_head+0x41/0x220 __pskb_pull_tail+0x5e/0x2f0 rxkad_verify_packet_2+0xa8/0x190 rxkad_verify_packet+0x12c/0x150 rxrpc_recvmsg_data+0x1b0/0x470 rxrpc_kernel_recv_data+0xa6/0x210 afs_extract_data+0x5e/0x180 yfs_deliver_fs_fetch_data64+0x10b/0x200 afs_deliver_to_call+0xea/0x440 afs_read_receive+0x8d/0x150 afs_fetch_data_async_rx+0x12/0x20 process_one_work+0x18e/0x2b0which corresponds to this:
Quoted 8 lines
BUG_ON(skb_shared(skb));Presumably this is done because
fcrypt_pcbc_decrypt()doesn't handle being called on a split buffer. I think this may requireskb_copy()to be used instead, but that would need to be handled inrxrpc_input_call_event().I think
rxkad_decrypt_response()should be okay because the encrypted data is extracted into a buffer first before being decrypted.
Yes, Marc pointed this out already. Thanks for the review and testing. I just haven't had a chance to decide what to do with this patch yet. It could be an unconditional skb_copy(), it could be decrypting the fragmented skb in-place, or it could be fixing up the RxRPC code to no longer take multiple references to the skb (so skb_shared() would no longer be true). Let me know if you have a preference.
Also I'm waiting to see if the following patch gets merged:
https://lore.kernel.org/netdev/[email protected]/
That does the skb_copy() anyway, which would solve this problem.
- Eric
David Howells
maintainerRe: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
Quoted 2 lines · Eric Biggers
Also I'm waiting to see if the following patch gets merged:
https://lore.kernel.org/netdev/[email protected]/
This is the favoured solution:
https://lore.kernel.org/netdev/af2kdW2F1gJ9U-Gg@v4bel/
The problem with the one you mentioned is that it does a mandatory copy, even when it doesn't need to, for rxgk. I can benchmark that to see what the performance impact it has.
David
Re: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
Quoted 5 lines · David Howells
Quoted 2 lines · Eric Biggers
Also I'm waiting to see if the following patch gets merged:
https://lore.kernel.org/netdev/[email protected]/
Quoted 7 lines
This is the favoured solution:
https://lore.kernel.org/netdev/af2kdW2F1gJ9U-Gg@v4bel/The problem with the one you mentioned is that it does a mandatory copy, even when it doesn't need to, for rxgk. I can benchmark that to see what the performance impact it has.
Seems that the latest is now
https://lore.kernel.org/netdev/[email protected]/
which is back to just using a linear buffer unconditionally. I'll resend this series after that goes in.
- Eric
David Howells
maintainerRe: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
Quoted 4 lines · Eric Biggers
Seems that the latest is now
https://lore.kernel.org/netdev/[email protected]/
which is back to just using a linear buffer unconditionally. I'll resend this series after that goes in.
Sounds good. It turned out to be a bit faster just extracting the data into a flat buffer in recvmsg.
I wonder about modifying the crypto/krb5/ code to use lib/crypto/ instead, but that might be a little trickier as Chuck has patches to make NFS use it.
David
[email protected]
AI reviewRe: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
In reply to Eric BiggersThank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] Stack-allocated `struct fcrypt_key` is not zeroized before returning in…
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Stack-allocated struct fcrypt_key is not zeroized before returning in rxkad_decrypt_response(). --
commit cab871c1c0eecff467a076e259b88fd1f8a50b0a
Author: Eric Biggers <[email protected]>
net/rxrpc: Use local FCrypt-PCBC implementation
This patch replaces the crypto API implementation of FCrypt-PCBC with a local implementation. This improves performance, allows removing the crypto API dependency, and simplifies the decryption code by linearizing the skb.
Quoted 4 lines
net/rxrpc/rxkad.c +0
-0
[ ... ]
Quoted 37 lines
net/rxrpc/rxkad.c +4
-24@@ -1095,39 +916,22 @@ static int rxkad_decrypt_ticket(struct rxrpc_connection *conn,/* * decrypt the response packet */ -static int rxkad_decrypt_response (struct rxrpc_connection *conn, -struct rxkad_response *resp, -const struct rxrpc_crypt *session_key) +static void rxkad_decrypt_response (struct rxrpc_connection *conn, +struct rxkad_response *resp, +const struct rxrpc_crypt *session_key) { -struct skcipher_request *req = rxkad_ci_req; -struct scatterlist sg[1 ]; -struct rxrpc_crypt iv; -int ret; +struct fcrypt_key cipher;_enter (",,%08x%08x" ,ntohl (session_key->n[0 ]),ntohl (session_key->n[1 ])); -mutex_lock (&rxkad_ci_mutex); - ret =crypto_sync_skcipher_setkey (rxkad_ci, session_key->x, -sizeof (*session_key)); -if (ret <0 ) - goto unlock; - -memcpy (&iv, session_key,sizeof (iv)); - -sg_init_table (sg,1 ); -sg_set_buf (sg, &resp->encrypted,sizeof (resp->encrypted)); -skcipher_request_set_sync_tfm (req, rxkad_ci); -skcipher_request_set_callback (req,0 ,NULL ,NULL ); -skcipher_request_set_crypt (req, sg, sg,sizeof (resp->encrypted), iv.x); - ret =crypto_skcipher_decrypt (req); -skcipher_request_zero (req); - -unlock:
net/rxrpc/rxkad.c static int rxkad_decrypt_ticket(struct rxrpc_connection *conn, · line 935
Quoted 10 lines
net/rxrpc/rxkad.c +5
-2-mutex_unlock (&rxkad_ci_mutex); +fcrypt_preparekey (&cipher, session_key->x); +static_assert (sizeof (resp->encrypted) %FCRYPT_BSIZE ==0 ); +fcrypt_pcbc_decrypt (&cipher, session_key->x, &resp->encrypted, + &resp->encrypted, +sizeof (resp->encrypted) /FCRYPT_BSIZE );_leave ("" ); -return ret; }
Does this code leave the cryptographic key material on the stack?
The local struct fcrypt_key cipher is allocated on the stack and initialized with the session key schedule via fcrypt_preparekey(). After the decryption is complete, the function returns without securely erasing this key schedule from the stack.
Could we call memzero_explicit(&cipher, sizeof(cipher)) before returning to ensure the key material is cleared?
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2
Re: [PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
Quoted 9 lines · On Fri, Oct 30, 2026 at 04:53:35AM +0000, [email protected] wrote:
Does this code leave the cryptographic key material on the stack?
The local struct
fcrypt_keycipher is allocated on the stack and initialized with the session key schedule viafcrypt_preparekey(). After the decryption is complete, the function returns without securely erasing this key schedule from the stack.Could we call
memzero_explicit(&cipher, sizeof(cipher))before returning to ensure the key material is cleared?
The old code left the key on the stack as well (in 'iv', since the key is reused as the IV here...), and I didn't aim to change that in this patch. And FCrypt is not secure anyway. Only real reason to add this would be so that LLMs don't complain.
- Eric
PATCH 3/5 net/rxrpc: Reimplement DES-PCBC using DES library
In reply to Eric BiggersSince the use of "pcbc(des)" in rxkad_decrypt_ticket() is the only remaining user of the crypto API "pcbc" template, just implement DES-PCBC by locally implementing PCBC mode on top of the DES library. Note that only the decryption direction is needed.
This will allow support for the obsolete PCBC mode to be removed from the crypto API.
--- net/rxrpc/Kconfig | 5 +-- net/rxrpc/ar-internal.h | 5 +++ net/rxrpc/key.c | 1 - net/rxrpc/rxkad.c | 76 +++++++++++++++++++---------------- net/rxrpc/server_key.c | 1 - net/rxrpc/tests/rxrpc_kunit.c | 31 ++++++++++++++ 6 files changed, 79 insertions(+), 40 deletions(-)
net/rxrpc/Kconfig +1 -4
@@ -5,10 +5,11 @@ config AF_RXRPC tristate "RxRPC session sockets" depends on INET select CRYPTO + select CRYPTO_LIB_DES if RXKAD select KEYS select NET_UDP_TUNNEL help Say Y or M here to include support for RxRPC session sockets (just the transport part, not the presentation part: (un)marshalling is
@@ -54,14 +55,10 @@ config AF_RXRPC_DEBUG See Documentation/networking/rxrpc.rst. config RXKAD bool "RxRPC Kerberos security" - select CRYPTO - select CRYPTO_MANAGER - select CRYPTO_SKCIPHER - select CRYPTO_PCBC help Provide kerberos 4 and AFS kaserver security handling for AF_RXRPC through the use of the key retention service. See Documentation/networking/rxrpc.rst.
net/rxrpc/ar-internal.h +5 -0
@@ -34,10 +34,15 @@ void fcrypt_pcbc_encrypt(const struct fcrypt_key *key, const u8 iv[FCRYPT_BSIZE], const void *src, void *dst, size_t nblocks);void fcrypt_pcbc_decrypt (const struct fcrypt_key *key,const u8 iv[FCRYPT_BSIZE ],const void *src,void *dst,size_t nblocks); +#if IS_ENABLED (CONFIG_KUNIT ) +struct des_ctx ; +void des_pcbc_decrypt_inplace (const struct des_ctx *key,__le64 iv,u8 *data, +size_t len); +#endif #define rxrpc_queue_work (WS ) queue_work(rxrpc_workqueue, (WS))#define rxrpc_queue_delayed_work (WS ,D ) \ queue_delayed_work(rxrpc_workqueue, (WS), (D))
net/rxrpc/key.c +0 -1
@@ -8,11 +8,10 @@* "[email protected]" */ #define pr_fmt (fmt) KBUILD_MODNAME ": " fmt -#include <crypto/skcipher.h> #include <linux/module.h> #include <linux/net.h> #include <linux/overflow.h> #include <linux/skbuff.h> #include <linux/key-type.h>
net/rxrpc/rxkad.c +42 -34
158 lines not on this page · raw message
net/rxrpc/server_key.c +0 -1
@@ -8,11 +8,10 @@* "[email protected]> */ #define pr_fmt (fmt) KBUILD_MODNAME ": " fmt -#include <crypto/skcipher.h> #include <linux/module.h> #include <linux/net.h> #include <linux/skbuff.h> #include <linux/key-type.h> #include <linux/ctype.h>
net/rxrpc/tests/rxrpc_kunit.c +31 -0
@@ -3,10 +3,11 @@* Unit tests for RxRPC functions * * Copyright 2026 Google LLC */ #include "../ar-internal.h" +#include <crypto/des.h> #include <kunit/test.h> struct fcrypt_pcbc_testvec {u8 key[FCRYPT_BSIZE ];u8 iv[FCRYPT_BSIZE ];
@@ -91,12 +92,42 @@ static void test_fcrypt_pcbc(struct kunit *test)fcrypt_pcbc_decrypt (&key, tv->iv, data, data, nblocks);KUNIT_ASSERT_MEMEQ (test, tv->ptext, data, len); } } +static void test_des_pcbc (struct kunit *test) +{ +/* This was generated from the original pcbc(des) crypto API code. */ +static const u8 expected_ptext[24 ] = +"\xc8\xe2\x3c\xdf\x80\x61\x8a\xad\xa5\x52\xb4\x20" +"\x74\x32\x1f\xe4\x2c\x15\x7d\x21\x57\xda\x3f\x31" ; +u8 key[8 ]; +union { +__le64 w; +u8 b[8 ]; + } iv; +u8 data[24 ]; +struct des_ctx ctx; +int err; + +for (int i =0 ; i <8 ; i++) { + key[i] = i; + iv.b[i] =255 - i; + } +for (int i =0 ; i <sizeof (data); i++) + data[i] = i; + + err =des_expand_key (&ctx, key,sizeof (key)); +KUNIT_ASSERT_EQ (test,0 , err); + +des_pcbc_decrypt_inplace (&ctx, iv.w, data,sizeof (data)); +KUNIT_ASSERT_MEMEQ (test, expected_ptext, data,sizeof (data)); +} +static struct kunit_case rxrpc_test_cases[] = {KUNIT_CASE (test_fcrypt_pcbc), +KUNIT_CASE (test_des_pcbc), {}, };static struct kunit_suite rxrpc_test_suite = { .name ="rxrpc" ,
Signature · 1 line
2.54.0
[email protected]
AI reviewRe: [PATCH net-next 3/5] net/rxrpc: Reimplement DES-PCBC using DES library
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] Weak DES keys will now be rejected when loading a server key, whereas previously they were…
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Weak DES keys will now be rejected when loading a server key, whereas previously they were accepted. --
commit c24ad4e831d157713b86ce93d80475105c2362d5
Author: Eric Biggers <[email protected]>
net/rxrpc: Reimplement DES-PCBC using DES library
This commit reimplements the obsolete PCBC mode on top of the DES library specifically for rxrpc, replacing its use of the crypto API "pcbc(des)" template. This allows removing PCBC support from the generic crypto API.
Quoted 4 lines
net/rxrpc/rxkad.c +0
-0
[ ... ]
Quoted 4 lines
net/rxrpc/rxkad.c +0
-0@@ -52,40 +54,41 @@ static void rxkad_prime_packet_security(struct rxrpc_connection *conn,*/ static int rxkad_preparse_server_key (struct key_preparsed_payload *prep) {
[ ... ]
net/rxrpc/rxkad.c static void rxkad_prime_packet_security(struct rxrpc_connection *conn, · line 76
Quoted 8 lines
net/rxrpc/rxkad.c +6
-2-if (crypto_skcipher_setkey (ci, prep->data,8 ) <0 ) -BUG (); + err =des_expand_key (des_key, prep->data,8 ); +if (err) { +kfree_sensitive (des_key); +_leave (" = %d" , err); +return err; + }
Does this introduce an unintended behavior change regarding weak DES keys?
The old code used crypto_skcipher_setkey(), which in the generic DES implementation suppresses the -ENOKEY error and returns 0 (success) unless CRYPTO_TFM_REQ_FORBID_WEAK_KEYS is explicitly set. The RxRPC code did not set this flag, meaning weak DES keys were silently accepted.
By calling des_expand_key() directly, which unconditionally returns -ENOKEY for weak keys, rxkad_preparse_server_key() will now fail and reject these keys instead of succeeding.
While weak keys shouldn't be used, could this undocumented change break backward compatibility for existing userspace configurations or test environments relying on fixed weak keys?
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=3
Re: [PATCH net-next 3/5] net/rxrpc: Reimplement DES-PCBC using DES library
Quoted 7 lines · On Fri, Oct 30, 2026 at 04:53:36AM +0000, [email protected] wrote:
Does this introduce an unintended behavior change regarding weak DES keys?
The old code used
crypto_skcipher_setkey(), which in the generic DES implementation suppresses the-ENOKEYerror and returns 0 (success) unlessCRYPTO_TFM_REQ_FORBID_WEAK_KEYSis explicitly set. The RxRPC code did not set this flag, meaning weak DES keys were silently accepted.
Quoted 7 lines
By calling
des_expand_key()directly, which unconditionally returns-ENOKEYfor weak keys,rxkad_preparse_server_key()will now fail and reject these keys instead of succeeding.While weak keys shouldn't be used, could this undocumented change break backward compatibility for existing userspace configurations or test environments relying on fixed weak keys?
Could be either a bug or a feature. If someone wants to make net/rxrpc/rxkad.c start allowing weak DES keys again (by ignoring -ENOKEY from des_expand_key()), it could be done. I doubt anyone cares.
- Eric
PATCH 4/5 crypto: fcrypt - Remove support for FCrypt block cipher
In reply to Eric BiggersRemove the insecure FCrypt block cipher from the crypto API. Its only user was net/rxrpc/, but now net/rxrpc/ implements it locally. The crypto API implementation is no longer needed.
For some additional context: FCrypt was designed in 1988 and is essentially a weakened version of DES. It has the same 56-bit key size as DES, which is easily brute forced. Moreover, it's cryptographically weak and doesn't even provide the intended 56-bit security level. Its author considers it to be a mistake, as well
(https://lists.openafs.org/pipermail/openafs-devel/2000-December/005320.html).
But fortunately this 1980s-era homebrew block cipher was never adopted outside of net/rxrpc/. So its code can just be kept there.
--- arch/arm/configs/pxa_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/bigsur_defconfig | 1 - arch/mips/configs/decstation_64_defconfig | 1 - arch/mips/configs/decstation_defconfig | 1 - arch/mips/configs/decstation_r4k_defconfig | 1 - arch/mips/configs/ip22_defconfig | 1 - arch/mips/configs/ip27_defconfig | 1 - arch/mips/configs/ip30_defconfig | 1 - arch/mips/configs/ip32_defconfig | 1 - arch/mips/configs/lemote2f_defconfig | 1 - arch/mips/configs/malta_defconfig | 1 - arch/mips/configs/malta_kvm_defconfig | 1 - arch/mips/configs/maltaup_xpa_defconfig | 1 - arch/mips/configs/rm200_defconfig | 1 - arch/mips/configs/sb1250_swarm_defconfig | 1 - arch/parisc/configs/generic-64bit_defconfig | 1 - arch/powerpc/configs/ppc6xx_defconfig | 1 - arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/sh/configs/sh2007_defconfig | 1 - arch/sparc/configs/sparc64_defconfig | 1 - crypto/Kconfig | 9 - crypto/Makefile | 1 - crypto/fcrypt.c | 420 -------------------- crypto/tcrypt.c | 4 - crypto/testmgr.c | 15 - crypto/testmgr.h | 45 --- 39 files changed, 527 deletions(-) delete mode 100644 crypto/fcrypt.c
arch/arm/configs/pxa_defconfig +0 -1
@@ -638,11 +638,10 @@ CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_BENCHMARK=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/m68k/configs/amiga_defconfig +0 -1
@@ -522,11 +522,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/apollo_defconfig +0 -1
@@ -477,11 +477,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/atari_defconfig +0 -1
@@ -499,11 +499,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/bvme6000_defconfig +0 -1
@@ -469,11 +469,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/hp300_defconfig +0 -1
@@ -479,11 +479,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/mac_defconfig +0 -1
@@ -498,11 +498,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/multi_defconfig +0 -1
@@ -585,11 +585,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/mvme147_defconfig +0 -1
@@ -469,11 +469,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/mvme16x_defconfig +0 -1
@@ -470,11 +470,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/q40_defconfig +0 -1
@@ -488,11 +488,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/sun3_defconfig +0 -1
@@ -467,11 +467,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/m68k/configs/sun3x_defconfig +0 -1
@@ -467,11 +467,10 @@ CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/mips/configs/bigsur_defconfig +0 -1
@@ -217,11 +217,10 @@ CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/decstation_64_defconfig +0 -1
@@ -187,11 +187,10 @@ CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/decstation_defconfig +0 -1
@@ -182,11 +182,10 @@ CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/decstation_r4k_defconfig +0 -1
@@ -182,11 +182,10 @@ CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/ip22_defconfig +0 -1
@@ -315,11 +315,10 @@ CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/ip27_defconfig +0 -1
@@ -307,11 +307,10 @@ CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/ip30_defconfig +0 -1
@@ -164,11 +164,10 @@ CONFIG_SECURITYFS=y CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m
arch/mips/configs/ip32_defconfig +0 -1
@@ -167,11 +167,10 @@ CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=y CONFIG_CRYPTO_CAST6=y CONFIG_CRYPTO_DES=y -CONFIG_CRYPTO_FCRYPT=y CONFIG_CRYPTO_KHAZAD=y CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_DEFLATE=y
arch/mips/configs/lemote2f_defconfig +0 -1
@@ -299,11 +299,10 @@ CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_BENCHMARK=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m
arch/mips/configs/malta_defconfig +0 -1
@@ -397,10 +397,9 @@ CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/malta_kvm_defconfig +0 -1
@@ -404,11 +404,10 @@ CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_RCU_CPU_STALL_TIMEOUT=60
arch/mips/configs/maltaup_xpa_defconfig +0 -1
@@ -403,10 +403,9 @@ CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/rm200_defconfig +0 -1
@@ -378,10 +378,9 @@ CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/mips/configs/sb1250_swarm_defconfig +0 -1
@@ -90,11 +90,10 @@ CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_LZO=m # CONFIG_CRYPTO_HW is not set
arch/parisc/configs/generic-64bit_defconfig +0 -1
@@ -279,11 +279,10 @@ CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_UTF8=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DEFLATE=m
arch/powerpc/configs/ppc6xx_defconfig +0 -1
@@ -1061,11 +1061,10 @@ CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
arch/s390/configs/debug_defconfig +0 -1
@@ -774,11 +774,10 @@ CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/s390/configs/defconfig +0 -1
@@ -758,11 +758,10 @@ CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m
arch/sh/configs/sh2007_defconfig +0 -1
@@ -180,11 +180,10 @@ CONFIG_CRYPTO_ANUBIS=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_CAMELLIA=y CONFIG_CRYPTO_CAST5=y CONFIG_CRYPTO_CAST6=y -CONFIG_CRYPTO_FCRYPT=y CONFIG_CRYPTO_KHAZAD=y CONFIG_CRYPTO_SEED=y CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_TWOFISH=y
arch/sparc/configs/sparc64_defconfig +0 -1
@@ -218,11 +218,10 @@ CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m
crypto/Kconfig +0 -9
@@ -462,19 +462,10 @@ config CRYPTO_DES help DES (Data Encryption Standard)(FIPS 46-2, ISO/IEC 18033-3) and Triple DES EDE (Encrypt/Decrypt/Encrypt) (FIPS 46-3, ISO/IEC 18033-3) cipher algorithms -config CRYPTO_FCRYPT - tristate "FCrypt" - select CRYPTO_ALGAPI - select CRYPTO_SKCIPHER - help - FCrypt algorithm used by RxRPC - - See https://ota.polyonymo.us/fcrypt-paper.txt - config CRYPTO_KHAZAD tristate "Khazad" depends on CRYPTO_USER_API_ENABLE_OBSOLETE select CRYPTO_ALGAPI help
crypto/Makefile +0 -1
@@ -124,11 +124,10 @@ endif CFLAGS_aegis128-neon-inner.o += -isystem $(shell $(CC) -print-file-name=include) obj-$(CONFIG_CRYPTO_PCRYPT) += pcrypt.o obj-$(CONFIG_CRYPTO_CRYPTD) += cryptd.o obj-$(CONFIG_CRYPTO_DES) += des_generic.o -obj-$(CONFIG_CRYPTO_FCRYPT) += fcrypt.o obj-$(CONFIG_CRYPTO_BLOWFISH) += blowfish_generic.o obj-$(CONFIG_CRYPTO_BLOWFISH_COMMON) += blowfish_common.o obj-$(CONFIG_CRYPTO_TWOFISH) += twofish_generic.o obj-$(CONFIG_CRYPTO_TWOFISH_COMMON) += twofish_common.o obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o
crypto/fcrypt.c deleted +0 -420
420 lines not on this page · raw message
crypto/tcrypt.c +0 -4
@@ -1598,14 +1598,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)case 30 : ret =min (ret,tcrypt_test ("ecb(xeta)" ));break ; -case 31 : - ret =min (ret,tcrypt_test ("pcbc(fcrypt)" )); -break ; -case 32 : ret =min (ret,tcrypt_test ("ecb(camellia)" )); ret =min (ret,tcrypt_test ("cbc(camellia)" )); ret =min (ret,tcrypt_test ("ctr(camellia)" )); ret =min (ret,tcrypt_test ("lrw(camellia)" ));
crypto/testmgr.c +0 -15
@@ -4825,19 +4825,10 @@ static const struct alg_test_desc alg_test_descs[] = { .alg = "ecb(des3_ede)", .test = alg_test_skcipher, .suite = { .cipher = __VECS(des3_ede_tv_template) } - }, { - .alg = "ecb(fcrypt)", - .test = alg_test_skcipher, - .suite = { - .cipher = { - .vecs = fcrypt_pcbc_tv_template, - .count = 1 - } - } }, { .alg = "ecb(khazad)", .test = alg_test_skcipher, .suite = { .cipher =__VECS (khazad_tv_template)
@@ -5252,16 +5243,10 @@ static const struct alg_test_desc alg_test_descs[] = { }, { .alg = "p1363(ecdsa-nist-p521)", .test = alg_test_null, .fips_allowed = 1, }, { - .alg = "pcbc(fcrypt)", - .test = alg_test_skcipher, - .suite = { - .cipher = __VECS(fcrypt_pcbc_tv_template) - } - }, {#if IS_ENABLED (CONFIG_CRYPTO_PHMAC_S390 ) .alg = "phmac(sha224)", .test = alg_test_hash, .fips_allowed = 1, .suite = {
crypto/testmgr.h +0 -45
55 lines not on this page · raw message
Signature · 1 line
2.54.0
Re: [PATCH net-next 4/5] crypto: fcrypt - Remove support for FCrypt block cipher
Quoted 16 lines · Eric Biggers
Remove the insecure FCrypt block cipher from the crypto API. Its only user was
net/rxrpc/, but nownet/rxrpc/implements it locally. The crypto API implementation is no longer needed.For some additional context: FCrypt was designed in 1988 and is essentially a weakened version of DES. It has the same 56-bit key size as DES, which is easily brute forced. Moreover, it's cryptographically weak and doesn't even provide the intended 56-bit security level. Its author considers it to be a mistake, as well
(https://lists.openafs.org/pipermail/openafs-devel/2000-December/005320.html).But fortunately this 1980s-era homebrew block cipher was never adopted outside of
net/rxrpc/. So its code can just be kept there.Signed-off-by Eric Biggers <[email protected]>
Quoted 12 lines
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 -
Gr{oetje,eeting}s,
Geert
Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
PATCH 5/5 crypto: pcbc - Remove support for PCBC mode
In reply to Eric BiggersThe only user of PCBC mode (Propagating Cipher Block Chaining mode) was net/rxrpc/rxkad.c, which now uses local code instead.
While PCBC was an interesting cryptographic experiment, it has largely been relegated to the history books and academic exercises. It is non-parallelizable (i.e., very slow) and doesn't actually achieve the integrity properties it was apparently intended to achieve.
Remove support for it from the crypto API.
--- arch/arm/configs/am200epdkit_defconfig | 1 - arch/arm/configs/dove_defconfig | 1 - arch/arm/configs/multi_v5_defconfig | 1 - arch/arm/configs/mv78xx0_defconfig | 1 - arch/arm/configs/mvebu_v5_defconfig | 1 - arch/arm/configs/omap1_defconfig | 1 - arch/arm/configs/orion5x_defconfig | 1 - arch/arm/configs/pxa_defconfig | 1 - arch/arm/configs/wpcm450_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/bigsur_defconfig | 1 - arch/mips/configs/decstation_64_defconfig | 1 - arch/mips/configs/decstation_defconfig | 1 - arch/mips/configs/decstation_r4k_defconfig | 1 - arch/mips/configs/fuloong2e_defconfig | 1 - arch/mips/configs/gpr_defconfig | 1 - arch/mips/configs/ip22_defconfig | 1 - arch/mips/configs/ip27_defconfig | 1 - arch/mips/configs/ip30_defconfig | 1 - arch/mips/configs/ip32_defconfig | 1 - arch/mips/configs/lemote2f_defconfig | 1 - arch/mips/configs/malta_defconfig | 1 - arch/mips/configs/malta_kvm_defconfig | 1 - arch/mips/configs/malta_qemu_32r6_defconfig | 1 - arch/mips/configs/maltaaprp_defconfig | 1 - arch/mips/configs/maltasmvp_defconfig | 1 - arch/mips/configs/maltasmvp_eva_defconfig | 1 - arch/mips/configs/maltaup_defconfig | 1 - arch/mips/configs/maltaup_xpa_defconfig | 1 - arch/mips/configs/mtx1_defconfig | 1 - arch/mips/configs/rm200_defconfig | 1 - arch/mips/configs/sb1250_swarm_defconfig | 1 - arch/parisc/configs/generic-64bit_defconfig | 1 - arch/powerpc/configs/44x/akebono_defconfig | 1 - arch/powerpc/configs/44x/bamboo_defconfig | 1 - arch/powerpc/configs/44x/currituck_defconfig | 1 - arch/powerpc/configs/44x/ebony_defconfig | 1 - arch/powerpc/configs/44x/eiger_defconfig | 1 - arch/powerpc/configs/44x/fsp2_defconfig | 1 - arch/powerpc/configs/44x/icon_defconfig | 1 - arch/powerpc/configs/44x/iss476-smp_defconfig | 1 - arch/powerpc/configs/44x/katmai_defconfig | 1 - arch/powerpc/configs/44x/rainier_defconfig | 1 - arch/powerpc/configs/44x/redwood_defconfig | 1 - arch/powerpc/configs/44x/sequoia_defconfig | 1 - arch/powerpc/configs/44x/taishan_defconfig | 1 - arch/powerpc/configs/52xx/cm5200_defconfig | 1 - arch/powerpc/configs/52xx/motionpro_defconfig | 1 - arch/powerpc/configs/52xx/tqm5200_defconfig | 1 - arch/powerpc/configs/83xx/asp8347_defconfig | 1 - .../configs/83xx/mpc8313_rdb_defconfig | 1 - .../configs/83xx/mpc8315_rdb_defconfig | 1 - .../configs/83xx/mpc832x_rdb_defconfig | 1 - .../configs/83xx/mpc834x_itx_defconfig | 1 - .../configs/83xx/mpc834x_itxgp_defconfig | 1 - .../configs/83xx/mpc837x_rdb_defconfig | 1 - arch/powerpc/configs/amigaone_defconfig | 1 - arch/powerpc/configs/cell_defconfig | 1 - arch/powerpc/configs/chrp32_defconfig | 1 - arch/powerpc/configs/ep8248e_defconfig | 1 - arch/powerpc/configs/fsl-emb-nonhw.config | 1 - arch/powerpc/configs/g5_defconfig | 1 - arch/powerpc/configs/linkstation_defconfig | 1 - arch/powerpc/configs/mgcoge_defconfig | 1 - arch/powerpc/configs/mpc83xx_defconfig | 1 - arch/powerpc/configs/mvme5100_defconfig | 1 - arch/powerpc/configs/pmac32_defconfig | 1 - arch/powerpc/configs/powernv_defconfig | 1 - arch/powerpc/configs/ppc44x_defconfig | 1 - arch/powerpc/configs/ppc64_defconfig | 1 - arch/powerpc/configs/ppc64e_defconfig | 1 - arch/powerpc/configs/ppc6xx_defconfig | 1 - arch/powerpc/configs/ps3_defconfig | 1 - arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/sh/configs/hp6xx_defconfig | 1 - arch/sh/configs/r7780mp_defconfig | 1 - arch/sh/configs/r7785rp_defconfig | 1 - arch/sh/configs/se7712_defconfig | 1 - arch/sh/configs/sh2007_defconfig | 1 - arch/sparc/configs/sparc32_defconfig | 1 - arch/sparc/configs/sparc64_defconfig | 1 - crypto/Kconfig | 9 - crypto/Makefile | 1 - crypto/pcbc.c | 195 ------------------ 96 files changed, 298 deletions(-) delete mode 100644 crypto/pcbc.c
arch/arm/configs/am200epdkit_defconfig +0 -1
@@ -84,10 +84,9 @@ CONFIG_NLS_ISO8859_1=y CONFIG_DEBUG_KERNEL=y # CONFIG_DETECT_SOFTLOCKUP is not set CONFIG_CRYPTO=y CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_ARC4=m # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_PREEMPT is not set CONFIG_DEBUG_USER=y
arch/arm/configs/dove_defconfig +0 -1
@@ -116,11 +116,10 @@ CONFIG_TIMER_STATS=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y
arch/arm/configs/multi_v5_defconfig +0 -1
@@ -284,11 +284,10 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_UTF8=y CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_DEV_MARVELL_CESA=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y
arch/arm/configs/mv78xx0_defconfig +0 -1
@@ -109,11 +109,10 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y
arch/arm/configs/mvebu_v5_defconfig +0 -1
@@ -183,11 +183,10 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_NLS_UTF8=y CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_DEV_MARVELL_CESA=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y
arch/arm/configs/omap1_defconfig +0 -1
@@ -213,11 +213,10 @@ CONFIG_NLS_KOI8_R=y CONFIG_NLS_UTF8=y # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_DEBUG_KERNEL=y CONFIG_SECURITY=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=y CONFIG_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y
arch/arm/configs/orion5x_defconfig +0 -1
@@ -132,11 +132,10 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_2=y CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_DEV_MARVELL_CESA=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y
arch/arm/configs/pxa_defconfig +0 -1
@@ -644,11 +644,10 @@ CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m
arch/arm/configs/wpcm450_defconfig +0 -1
@@ -179,11 +179,10 @@ CONFIG_KEYS=y CONFIG_HARDENED_USERCOPY=y CONFIG_FORTIFY_SOURCE=y CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_SHA256=y CONFIG_ASYMMETRIC_KEY_TYPE=y
arch/m68k/configs/amiga_defconfig +0 -1
@@ -533,11 +533,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/apollo_defconfig +0 -1
@@ -488,11 +488,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/atari_defconfig +0 -1
@@ -510,11 +510,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/bvme6000_defconfig +0 -1
@@ -480,11 +480,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/hp300_defconfig +0 -1
@@ -490,11 +490,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/mac_defconfig +0 -1
@@ -509,11 +509,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/multi_defconfig +0 -1
@@ -596,11 +596,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/mvme147_defconfig +0 -1
@@ -480,11 +480,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/mvme16x_defconfig +0 -1
@@ -481,11 +481,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/q40_defconfig +0 -1
@@ -499,11 +499,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/sun3_defconfig +0 -1
@@ -478,11 +478,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/m68k/configs/sun3x_defconfig +0 -1
@@ -478,11 +478,10 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m
arch/mips/configs/bigsur_defconfig +0 -1
@@ -205,11 +205,10 @@ CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m
arch/mips/configs/decstation_64_defconfig +0 -1
@@ -172,11 +172,10 @@ CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_OFB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_MD4=m
arch/mips/configs/decstation_defconfig +0 -1
@@ -167,11 +167,10 @@ CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_OFB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_MD4=m
arch/mips/configs/decstation_r4k_defconfig +0 -1
@@ -167,11 +167,10 @@ CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_OFB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_MD4=m
arch/mips/configs/fuloong2e_defconfig +0 -1
@@ -207,11 +207,10 @@ CONFIG_NLS_CODEPAGE_936=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_UTF8=y CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_CTS=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_DEFLATE=m
arch/mips/configs/gpr_defconfig +0 -1
@@ -247,11 +247,10 @@ CONFIG_ROOT_NFS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_850=y CONFIG_NLS_ISO8859_1=y CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_BENCHMARK=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/mips/configs/ip22_defconfig +0 -1
@@ -304,11 +304,10 @@ CONFIG_NLS_UTF8=m CONFIG_KEYS=y CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_WP512=m
arch/mips/configs/ip27_defconfig +0 -1
@@ -294,11 +294,10 @@ CONFIG_OMFS_FS=m CONFIG_NFS_FS=y CONFIG_SECURITYFS=y CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m
arch/mips/configs/ip30_defconfig +0 -1
@@ -168,11 +168,10 @@ CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_WP512=m
arch/mips/configs/ip32_defconfig +0 -1
@@ -152,11 +152,10 @@ CONFIG_NLS_UTF8=m CONFIG_KEYS=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y
arch/mips/configs/lemote2f_defconfig +0 -1
@@ -302,11 +302,10 @@ CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_XCBC=m
arch/mips/configs/malta_defconfig +0 -1
@@ -386,11 +386,10 @@ CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m
arch/mips/configs/malta_kvm_defconfig +0 -1
@@ -393,11 +393,10 @@ CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m
arch/mips/configs/malta_qemu_32r6_defconfig +0 -1
@@ -161,11 +161,10 @@ CONFIG_ROOT_NFS=y CONFIG_CIFS=m CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_ISO8859_1=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/maltaaprp_defconfig +0 -1
@@ -162,11 +162,10 @@ CONFIG_ROOT_NFS=y CONFIG_CIFS=m CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_ISO8859_1=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/maltasmvp_defconfig +0 -1
@@ -163,11 +163,10 @@ CONFIG_ROOT_NFS=y CONFIG_CIFS=m CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_ISO8859_1=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/maltasmvp_eva_defconfig +0 -1
@@ -165,11 +165,10 @@ CONFIG_ROOT_NFS=y CONFIG_CIFS=m CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_ISO8859_1=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/maltaup_defconfig +0 -1
@@ -161,11 +161,10 @@ CONFIG_ROOT_NFS=y CONFIG_CIFS=m CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_ISO8859_1=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST5=m
arch/mips/configs/maltaup_xpa_defconfig +0 -1
@@ -392,11 +392,10 @@ CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m
arch/mips/configs/mtx1_defconfig +0 -1
@@ -624,11 +624,10 @@ CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_UTF8=m CONFIG_CRYPTO_BENCHMARK=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/mips/configs/rm200_defconfig +0 -1
@@ -370,11 +370,10 @@ CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_UTF8=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/mips/configs/sb1250_swarm_defconfig +0 -1
@@ -78,11 +78,10 @@ CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_SHA512=m
arch/parisc/configs/generic-64bit_defconfig +0 -1
@@ -280,11 +280,10 @@ CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_UTF8=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DEFLATE=m # CONFIG_CRYPTO_HW is not set CONFIG_PRINTK_TIME=y
arch/powerpc/configs/44x/akebono_defconfig +0 -1
@@ -122,9 +122,8 @@ CONFIG_DETECT_HUNG_TASK=y CONFIG_XMON=y CONFIG_XMON_DEFAULT=y CONFIG_PPC_EARLY_DEBUG=y CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0x00010000 CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x33f -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/44x/bamboo_defconfig +0 -1
@@ -44,8 +44,7 @@ CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/44x/currituck_defconfig +0 -1
@@ -81,9 +81,8 @@ CONFIG_XMON_DEFAULT=y CONFIG_PPC_EARLY_DEBUG=y CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0x10000000 CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x200 CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/44x/ebony_defconfig +0 -1
@@ -50,9 +50,8 @@ CONFIG_ROOT_NFS=y CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/44x/eiger_defconfig +0 -1
@@ -77,11 +77,10 @@ CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_LRW=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_XTS=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y
arch/powerpc/configs/44x/fsp2_defconfig +0 -1
@@ -113,9 +113,8 @@ CONFIG_DYNAMIC_DEBUG=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/44x/icon_defconfig +0 -1
@@ -80,8 +80,7 @@ CONFIG_NLS_ISO8859_15=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/44x/iss476-smp_defconfig +0 -1
@@ -60,9 +60,8 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_PPC_EARLY_DEBUG=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/44x/katmai_defconfig +0 -1
@@ -49,8 +49,7 @@ CONFIG_ROOT_NFS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/44x/rainier_defconfig +0 -1
@@ -55,8 +55,7 @@ CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_PPC_EARLY_DEBUG=y CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300 CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/44x/redwood_defconfig +0 -1
@@ -76,11 +76,10 @@ CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_LRW=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_XTS=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y
arch/powerpc/configs/44x/sequoia_defconfig +0 -1
@@ -56,8 +56,7 @@ CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/44x/taishan_defconfig +0 -1
@@ -50,8 +50,7 @@ CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y
arch/powerpc/configs/52xx/cm5200_defconfig +0 -1
@@ -73,6 +73,5 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y
arch/powerpc/configs/52xx/motionpro_defconfig +0 -1
@@ -86,6 +86,5 @@ CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y
arch/powerpc/configs/52xx/tqm5200_defconfig +0 -1
@@ -87,6 +87,5 @@ CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y
arch/powerpc/configs/83xx/asp8347_defconfig +0 -1
@@ -66,6 +66,5 @@ CONFIG_TMPFS=y CONFIG_JFFS2_FS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +0 -1
@@ -81,6 +81,5 @@ CONFIG_TMPFS=y CONFIG_JFFS2_FS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_DETECT_HUNG_TASK=y -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +0 -1
@@ -80,6 +80,5 @@ CONFIG_TMPFS=y CONFIG_JFFS2_FS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_DETECT_HUNG_TASK=y -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/83xx/mpc832x_rdb_defconfig +0 -1
@@ -72,6 +72,5 @@ CONFIG_ROOT_NFS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_932=y CONFIG_NLS_ISO8859_8=y CONFIG_NLS_ISO8859_1=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/83xx/mpc834x_itx_defconfig +0 -1
@@ -78,6 +78,5 @@ CONFIG_VFAT_FS=y CONFIG_PROC_KCORE=y CONFIG_TMPFS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig +0 -1
@@ -70,6 +70,5 @@ CONFIG_VFAT_FS=y CONFIG_PROC_KCORE=y CONFIG_TMPFS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/83xx/mpc837x_rdb_defconfig +0 -1
@@ -74,6 +74,5 @@ CONFIG_PROC_KCORE=y CONFIG_TMPFS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m
arch/powerpc/configs/amigaone_defconfig +0 -1
@@ -110,7 +110,6 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MUTEXES=y CONFIG_XMON=y CONFIG_XMON_DEFAULT=y CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/cell_defconfig +0 -1
@@ -195,7 +195,6 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MUTEXES=y CONFIG_XMON=y CONFIG_XMON_DEFAULT=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y
arch/powerpc/configs/chrp32_defconfig +0 -1
@@ -114,7 +114,6 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MUTEXES=y CONFIG_XMON=y CONFIG_XMON_DEFAULT=y CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/ep8248e_defconfig +0 -1
@@ -62,9 +62,8 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set CONFIG_BDI_SWITCH=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/fsl-emb-nonhw.config +0 -1
@@ -17,11 +17,10 @@ CONFIG_CGROUPS=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_CPUSETS=y CONFIG_CRAMFS=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_KERNEL=y
arch/powerpc/configs/g5_defconfig +0 -1
@@ -232,11 +232,10 @@ CONFIG_NLS_UTF8=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MUTEXES=y CONFIG_BOOTX_TEXT=y CONFIG_CRYPTO_BENCHMARK=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/powerpc/configs/linkstation_defconfig +0 -1
@@ -126,11 +126,10 @@ CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_UTF8=m CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_DEFLATE=m
arch/powerpc/configs/mgcoge_defconfig +0 -1
@@ -76,7 +76,6 @@ CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set CONFIG_BDI_SWITCH=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y # CONFIG_CRYPTO_HW is not set
arch/powerpc/configs/mpc83xx_defconfig +0 -1
@@ -96,8 +96,7 @@ CONFIG_PROC_KCORE=y CONFIG_TMPFS=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_DEV_TALITOS=y
arch/powerpc/configs/mvme5100_defconfig +0 -1
@@ -111,11 +111,10 @@ CONFIG_XZ_DEC=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=20 CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_SERPENT=m
arch/powerpc/configs/pmac32_defconfig +0 -1
@@ -279,11 +279,10 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y CONFIG_XMON=y CONFIG_XMON_DEFAULT=y CONFIG_BOOTX_TEXT=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/powerpc/configs/powernv_defconfig +0 -1
@@ -313,11 +313,10 @@ CONFIG_PPC_EMULATED_STATS=y CONFIG_CODE_PATCHING_SELFTEST=y CONFIG_FTR_FIXUP_SELFTEST=y CONFIG_MSI_BITMAP_SELFTEST=y CONFIG_XMON=y CONFIG_CRYPTO_BENCHMARK=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/powerpc/configs/ppc44x_defconfig +0 -1
@@ -91,8 +91,7 @@ CONFIG_ROOT_NFS=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_ISO8859_1=m CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y # CONFIG_CRYPTO_HW is not set CONFIG_VIRTUALIZATION=y
arch/powerpc/configs/ppc64_defconfig +0 -1
@@ -377,11 +377,10 @@ CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_CRYPTO_BENCHMARK=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_LZO=m CONFIG_CRYPTO_AES_GCM_P10=m CONFIG_CRYPTO_DEV_NX=y
arch/powerpc/configs/ppc64e_defconfig +0 -1
@@ -219,11 +219,10 @@ CONFIG_FTR_FIXUP_SELFTEST=y CONFIG_MSI_BITMAP_SELFTEST=y CONFIG_XMON=y CONFIG_CRYPTO_BENCHMARK=m CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_BLOWFISH=m
arch/powerpc/configs/ppc6xx_defconfig +0 -1
@@ -1049,11 +1049,10 @@ CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_CRYPTO_BENCHMARK=m CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y
arch/powerpc/configs/ps3_defconfig +0 -1
@@ -143,11 +143,10 @@ CONFIG_NFS_SWAP=y CONFIG_ROOT_NFS=y CONFIG_CIFS=m CONFIG_NLS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_LZO=m CONFIG_PRINTK_TIME=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_MEMORY_INIT=y
arch/s390/configs/debug_defconfig +0 -1
@@ -784,11 +784,10 @@ 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_PCBC=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y
arch/s390/configs/defconfig +0 -1
@@ -768,11 +768,10 @@ 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_PCBC=m CONFIG_CRYPTO_AEGIS128=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y
arch/sh/configs/hp6xx_defconfig +0 -1
@@ -49,8 +49,7 @@ CONFIG_VFAT_FS=y CONFIG_PROC_KCORE=y CONFIG_NLS_CODEPAGE_850=y CONFIG_CRYPTO=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_MD5=y # CONFIG_CRYPTO_HW is not set
arch/sh/configs/r7780mp_defconfig +0 -1
@@ -99,7 +99,6 @@ CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_PREEMPT is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y
arch/sh/configs/r7785rp_defconfig +0 -1
@@ -97,7 +97,6 @@ CONFIG_DEBUG_LOCKING_API_SELFTESTS=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_SH_STANDARD_BIOS=y CONFIG_DEBUG_STACK_USAGE=y CONFIG_4KSTACKS=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y
arch/sh/configs/se7712_defconfig +0 -1
@@ -91,6 +91,5 @@ CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_FRAME_POINTER=y CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m
arch/sh/configs/sh2007_defconfig +0 -1
@@ -163,11 +163,10 @@ CONFIG_FRAME_POINTER=y CONFIG_SH_STANDARD_BIOS=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=y -CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_XTS=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA1=y
arch/sparc/configs/sparc32_defconfig +0 -1
@@ -78,11 +78,10 @@ CONFIG_DETECT_HUNG_TASK=y # CONFIG_SCHED_DEBUG is not set CONFIG_KGDB=y CONFIG_KGDB_TESTS=y CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_ARC4=m
arch/sparc/configs/sparc64_defconfig +0 -1
@@ -204,11 +204,10 @@ CONFIG_BLK_DEV_IO_TRACE=y CONFIG_UPROBE_EVENTS=y CONFIG_KEYS=y CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_BENCHMARK=m CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m
crypto/Kconfig +0 -9
@@ -701,19 +701,10 @@ config CRYPTO_LRW The first 128, 192 or 256 bits in the key are used for AES and the rest is used to tie each cipher block to its logical position. See https://people.csail.mit.edu/rivest/pubs/LRW02.pdf -config CRYPTO_PCBC - tristate "PCBC (Propagating Cipher Block Chaining)" - select CRYPTO_SKCIPHER - select CRYPTO_MANAGER - help - PCBC (Propagating Cipher Block Chaining) mode - - This block cipher mode is required for RxRPC. - config CRYPTO_XCTR tristate select CRYPTO_SKCIPHER select CRYPTO_MANAGER help
crypto/Makefile +0 -1
@@ -87,11 +87,10 @@ obj-$(CONFIG_CRYPTO_STREEBOG) += streebog_generic.o obj-$(CONFIG_CRYPTO_WP512) += wp512.o CFLAGS_wp512.o := $(call cc-option,-fno-schedule-insns) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149 obj-$(CONFIG_CRYPTO_BLAKE2B) += blake2b.o obj-$(CONFIG_CRYPTO_ECB) += ecb.o obj-$(CONFIG_CRYPTO_CBC) += cbc.o -obj-$(CONFIG_CRYPTO_PCBC) += pcbc.o obj-$(CONFIG_CRYPTO_CTS) += cts.o obj-$(CONFIG_CRYPTO_LRW) += lrw.o obj-$(CONFIG_CRYPTO_XTS) += xts.o obj-$(CONFIG_CRYPTO_CTR) += ctr.o obj-$(CONFIG_CRYPTO_XCTR) += xctr.o
crypto/pcbc.c deleted +0 -195
195 lines not on this page · raw message
Signature · 1 line
2.54.0
Re: [PATCH net-next 5/5] crypto: pcbc - Remove support for PCBC mode
Quoted 12 lines · Eric Biggers
The only user of PCBC mode (Propagating Cipher Block Chaining mode) was
net/rxrpc/rxkad.c, which now uses local code instead.While PCBC was an interesting cryptographic experiment, it has largely been relegated to the history books and academic exercises. It is non-parallelizable (i.e., very slow) and doesn't actually achieve the integrity properties it was apparently intended to achieve.
Remove support for it from the crypto API.
Signed-off-by Eric Biggers <[email protected]>
Quoted 12 lines
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 -
Gr{oetje,eeting}s,
Geert
Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Quoted 7 lines · Eric Biggers
[This series applies to v7.1-rc1 and is intended to be taken via net-next. Patches 4-5 could be left for later if desired.]
The FCrypt "block cipher" and the PCBC mode of operation are obsolete and insecure. Since their only user is
net/rxrpc/, they belong there, not in the crypto API.
Quoted 8 lines
Therefore, this series removes these algorithms from the crypto API and replaces them with local implementations in
net/rxrpc/.The local implementations are simpler too, as they avoid the crypto API boilerplate.
I don't know how to test all the code in
net/rxrpc/, but everything should still work. I added a KUnit test for the crypto functions.
It seems to work, so apart from the two points I noted, you can add:
It looks like it might be slightly faster, but I think the overhead reduction is not that visible with all the other things the filesystem and protocol do plus I/O overhead. RxGK is a lot faster and more secure, so we should be moving that way anyway.
David
Quoted 8 lines · Eric Biggers
[This series applies to v7.1-rc1 and is intended to be taken via net-next. Patches 4-5 could be left for later if desired.]
The FCrypt "block cipher" and the PCBC mode of operation are obsolete and insecure. Since their only user is
net/rxrpc/, they belong there, not in the crypto API.
Quoted 8 lines
Therefore, this series removes these algorithms from the crypto API and replaces them with local implementations in
net/rxrpc/.The local implementations are simpler too, as they avoid the crypto API boilerplate.
I don't know how to test all the code in
net/rxrpc/, but everything should still work. I added a KUnit test for the crypto functions.
Giving this is a spin with afs, I get this oops during xfstests generic/011:
[ 22.838773] kernel BUG at net/core/skbuff.c:2295! [ 22.843470] Oops: invalid opcode: 0000 [#1] SMP NOPTI [ 22.850243] CPU: 4 UID: 0 PID: 5869 Comm: fsstress Not tainted 7.1.0-rc1.kafs+ #89 PREEMPT(full) [ 22.853205] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-10.fc44 06/10/2025 [ 22.855185] RIP: 0010:pskb_expand_head+0x2d2/0x380 ... [ 22.867340] Call Trace: [ 22.867617] <TASK> [ 22.869409] __pskb_pull_tail+0x67/0x510 [ 22.870719] rxkad_verify_packet+0x297/0x3b0 [rxrpc] [ 22.872550] rxrpc_recvmsg_data+0x150/0x760 [rxrpc] [ 22.875923] rxrpc_kernel_recv_data+0x75/0x230 [rxrpc] [ 22.878500] afs_extract_data+0x65/0x250 [kafs] [ 22.880238] yfs_deliver_fs_fetch_data64+0x209/0x2f0 [kafs] [ 22.882017] afs_deliver_to_call+0x60/0x5a0 [kafs] [ 22.882346] afs_wait_for_call_to_complete+0x133/0x1f0 [kafs] [ 22.883019] ? __pfx_default_wake_function+0x10/0x10 [ 22.883445] ? afs_wait_for_operation+0x2c/0x1c0 [kafs] [ 22.883878] afs_wait_for_operation+0x9f/0x1c0 [kafs] [ 22.884342] afs_do_sync_operation+0x1a/0x30 [kafs] [ 22.884632] netfs_unbuffered_read_iter_locked+0x30f/0x6c0 [netfs] [ 22.884980] netfs_unbuffered_read_iter+0x56/0x80 [netfs] [ 22.885266] vfs_read+0x2e1/0x410
From the stack this looks like a direct IO read, where the skb passed to skb_linearize() trips on BUG_ON(skb_shared(skb)) in pskb_expand_head.
Marc