summaryrefslogtreecommitdiff
path: root/arch/m68k/Kconfig.machine
diff options
context:
space:
mode:
authorHyunwoo Kim <imv4bel@gmail.com>2026-05-08 17:53:09 +0900
committerLinus Torvalds <torvalds@linux-foundation.org>2026-05-10 08:15:57 -0700
commitaa54b1d27fe0c2b78e664a34fd0fdf7cd1960d71 (patch)
tree8df99db7b35ddbdadb96329569a3926d0a88cfdf /arch/m68k/Kconfig.machine
parenta1a10cdbc6551ba359169a3033f193b7f8c1b95d (diff)
rxrpc: Also unshare DATA/RESPONSE packets when paged frags are presentHEADmaster
The DATA-packet handler in rxrpc_input_call_event() and the RESPONSE handler in rxrpc_verify_response() copy the skb to a linear one before calling into the security ops only when skb_cloned() is true. An skb that is not cloned but still carries externally-owned paged fragments (e.g. SKBFL_SHARED_FRAG set by splice() into a UDP socket via __ip_append_data, or a chained skb_has_frag_list()) falls through to the in-place decryption path, which binds the frag pages directly into the AEAD/skcipher SGL via skb_to_sgvec(). Extend the gate to also unshare when skb_has_frag_list() or skb_has_shared_frag() is true. This catches the splice-loopback vector and other externally-shared frag sources while preserving the zero-copy fast path for skbs whose frags are kernel-private (e.g. NIC page_pool RX, GRO). The OOM/trace handling already in place is reused. Fixes: d0d5c0cd1e71 ("rxrpc: Use skb_unshare() rather than skb_cow_data()") Cc: stable@vger.kernel.org Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com> Reviewed-by: Jiayuan Chen <jiayuan.chen@linux.dev> Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m68k/Kconfig.machine')
0 files changed, 0 insertions, 0 deletions