[PATCH net-next 2/5] net/rxrpc: Use local FCrypt-PCBC implementation
David Howells
dhowells at redhat.com
Fri May 8 11:02:05 PDT 2026
Eric Biggers <ebiggers at kernel.org> wrote:
> + 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
More information about the linux-afs
mailing list