John Fastabend
c053cfde4e
UPSTREAM: bpf, sockmap: Add skb_adjust_room to pop bytes off ingress payload
...
This implements a new helper skb_adjust_room() so users can push/pop
extra bytes from a BPF_SK_SKB_STREAM_VERDICT program.
Some protocols may include headers and other information that we may
not want to include when doing a redirect from a BPF_SK_SKB_STREAM_VERDICT
program. One use case is to redirect TLS packets into a receive socket
that doesn't expect TLS data. In TLS case the first 13B or so contain the
protocol header. With KTLS the payload is decrypted so we should be able
to redirect this to a receiving socket, but the receiving socket may not
be expecting to receive a TLS header and discard the data. Using the
above helper we can pop the header off and put an appropriate header on
the payload. This allows for creating a proxy between protocols without
extra hops through the stack or userspace.
So in order to fix this case add skb_adjust_room() so users can strip the
header. After this the user can strip the header and an unmodified receiver
thread will work correctly when data is redirected into the ingress path
of a sock.
Change-Id: Ib5381eb7e0f39e12a60442dad0f6ece41e038b3c
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/160160099197.7052.8443193973242831692.stgit@john-Precision-5820-Tower
2026-01-14 18:12:40 -08:00
..
6lowpan
9p
net/9p: fix double req put in p9_fd_cancelled
2025-10-29 13:59:54 +01:00
802
8021q
net: vlan: sync VLAN features with lower device
2025-12-03 12:45:15 +01:00
appletalk
net: appletalk: Fix use-after-free in AARP proxy probe
2025-08-28 16:21:17 +02:00
atm
net: atm: fix memory leak in atm_register_sysfs when device_register fail
2025-09-09 18:43:58 +02:00
ax25
BACKPORT: net: Make sock protocol value checks more specific
2025-12-23 13:35:52 -08:00
batman-adv
batman-adv: fix OOB read/write in network-coding decode
2025-09-09 18:43:59 +02:00
bluetooth
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
bpf
UPSTREAM: bpf: fix raw_tp test run in preempt kernel
2026-01-14 18:12:38 -08:00
bpfilter
UPSTREAM: bpf: Add kernel module with user mode driver that populates bpffs.
2026-01-14 18:12:16 -08:00
bridge
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
caif
This is the 5.4.297 stable release
2025-09-02 10:52:40 +00:00
can
This is the 5.4.300 stable release
2025-10-02 13:53:47 +00:00
ceph
core
UPSTREAM: bpf, sockmap: Add skb_adjust_room to pop bytes off ingress payload
2026-01-14 18:12:40 -08:00
dcb
dccp
decnet
dns_resolver
dsa
net: dsa: microchip: linearize skb for tail-tagging switches
2025-09-09 18:44:00 +02:00
embms_kernel
ethernet
hsr
ieee802154
ife
ipv4
UPSTREAM: bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON
2026-01-14 18:12:34 -08:00
ipv6
BACKPORT: bpf: tcp: Add bpf_skops_hdr_opt_len() and bpf_skops_write_hdr_opt()
2026-01-14 18:12:18 -08:00
iucv
kcm
key
l2tp
l3mdev
lapb
llc
llc: fix data loss when reading from a socket in llc_ui_recvmsg()
2025-06-04 14:32:35 +02:00
mac80211
Merge branch 'android11-5.4-lts' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-12-11 01:41:51 -08:00
mac802154
mpls
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
ncsi
net: ncsi: Fix buffer overflow in fetching version id
2025-08-28 16:21:27 +02:00
netfilter
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
netlabel
calipso: unlock rcu before returning -EAFNOSUPPORT
2025-06-27 11:02:50 +01:00
netlink
UPSTREAM: bpf: Refactor bpf_iter_reg to have separate seq_info member
2026-01-14 18:12:07 -08:00
netrom
neuron
nfc
NFC: nci: uart: Set tty->disc_data only in success path
2025-06-27 11:02:51 +01:00
nsh
openvswitch
net: openvswitch: remove never-working support for setting nsh fields
2025-12-03 12:45:20 +01:00
packet
BACKPORT: net: switch copy_bpf_fprog_from_user to sockptr_t
2026-01-14 18:12:35 -08:00
phonet
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
psample
qrtr
rds
BACKPORT: tcp: add tcp_sock_set_keepidle
2026-01-14 17:50:47 -08:00
rfkill
net: rfkill: gpio: Fix crash due to dereferencering uninitialized pointer
2025-10-02 13:34:32 +02:00
rose
rose: fix dangling neighbour pointers in rose_rt_device_down()
2025-07-17 18:25:00 +02:00
rxrpc
rxrpc: Fix oops due to non-existence of prealloc backlog struct
2025-07-17 18:25:02 +02:00
sched
BACKPORT: bpf: Add socket assign support
2025-12-23 13:36:11 -08:00
sctp
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
smc
strparser
strparser: Fix signed/unsigned mismatch bug
2025-12-03 12:45:19 +01:00
sunrpc
BACKPORT: tcp: add tcp_sock_set_keepidle
2026-01-14 17:50:47 -08:00
switchdev
tipc
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
tls
UPSTREAM: net, sk_msg: Annotate lockless access to sk_prot on clone
2025-12-23 13:36:03 -08:00
unix
vmw_vsock
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
wimax
wireless
Merge tag 'ASB-2025-10-06_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-10-08 15:17:54 +03:00
x25
xdp
UPSTREAM: bpf: Relax max_entries check for most of the inner map types
2026-01-14 18:12:24 -08:00
xfrm
This is the 5.4.294 stable release
2025-06-05 07:11:21 +00:00
compat.c
BACKPORT: net: simplify cBPF setsockopt compat handling
2026-01-14 18:12:33 -08:00
Kconfig
Makefile
OWNERS
socket.c
sysctl_net.c
TEST_MAPPING