[PATCH net-next 0/5] Consolidate FCrypt and PCBC code into net/rxrpc/
Marc Dionne
marc.c.dionne at gmail.com
Tue Apr 28 10:15:23 PDT 2026
On Mon, Apr 27, 2026 at 11:47 PM Eric Biggers <ebiggers at kernel.org> wrote:
>
> [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.
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
More information about the linux-afs
mailing list