linux-kernelorg-stable/kernel/bpf
Jakub Sitnicki 6877cd392b bpf: Enable read/write access to skb metadata through a dynptr
Now that we can create a dynptr to skb metadata, make reads to the metadata
area possible with bpf_dynptr_read() or through a bpf_dynptr_slice(), and
make writes to the metadata area possible with bpf_dynptr_write() or
through a bpf_dynptr_slice_rdwr().

Note that for cloned skbs which share data with the original, we limit the
skb metadata dynptr to be read-only since we don't unclone on a
bpf_dynptr_write to metadata.

Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://patch.msgid.link/20250814-skb-metadata-thru-dynptr-v7-2-8a39e636e0fb@cloudflare.com
2025-08-18 10:29:42 -07:00
..
preload umd: Remove usermode driver framework 2025-07-26 21:03:04 +02:00
Kconfig
Makefile bpf: Introduce BPF standard streams 2025-07-03 19:30:06 -07:00
arena.c bpf/arena: add bpf_arena_reserve_pages kfunc 2025-07-11 10:43:54 -07:00
arraymap.c bpf: add btf_type_is_i{32,64} helpers 2025-06-25 15:15:49 -07:00
bloom_filter.c
bpf_cgrp_storage.c bpf: Only fails the busy counter check in bpf_cgrp_storage_get if it creates storage 2025-03-18 19:05:46 -07:00
bpf_inode_storage.c
bpf_iter.c bpf: Add attach_type field to bpf_link 2025-07-11 10:51:55 -07:00
bpf_local_storage.c bpf: add btf_type_is_i{32,64} helpers 2025-06-25 15:15:49 -07:00
bpf_lru_list.c bpf: Adjust free target to avoid global starvation of LRU map 2025-06-18 18:50:14 -07:00
bpf_lru_list.h bpf: Adjust free target to avoid global starvation of LRU map 2025-06-18 18:50:14 -07:00
bpf_lsm.c
bpf_struct_ops.c bpf: Add attach_type field to bpf_link 2025-07-11 10:51:55 -07:00
bpf_task_storage.c
btf.c bpf-next-6.17 2025-07-30 09:58:50 -07:00
btf_iter.c
btf_relocate.c
cgroup.c bpf-next-6.17 2025-07-30 09:58:50 -07:00
cgroup_iter.c
core.c bpf: Fix oob access in cgroup local storage 2025-07-31 11:30:05 -07:00
cpumap.c net: Create separate gro_flush_normal function 2025-07-24 18:34:55 -07:00
cpumask.c
crypto.c
devmap.c
disasm.c
disasm.h
dispatcher.c
dmabuf_iter.c bpf: Add open coded dmabuf iterator 2025-05-27 09:51:25 -07:00
hashtab.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after rc4 2025-04-28 08:40:45 -07:00
helpers.c bpf: Enable read/write access to skb metadata through a dynptr 2025-08-18 10:29:42 -07:00
inode.c VFS: rename lookup_one_len family to lookup_noperm and remove permission check 2025-04-08 11:24:36 +02:00
kmem_cache_iter.c
link_iter.c bpf: Clean up individual BTF_ID code 2025-07-16 18:34:42 -07:00
local_storage.c bpf: add btf_type_is_i{32,64} helpers 2025-06-25 15:15:49 -07:00
log.c bpf: Add dynptr type for skb metadata 2025-08-18 10:29:42 -07:00
lpm_trie.c bpf: Convert lpm_trie.c to rqspinlock 2025-03-19 08:03:05 -07:00
map_in_map.c
map_in_map.h
map_iter.c
memalloc.c
mmap_unlock_work.h
mprog.c
net_namespace.c bpf: Remove attach_type in bpf_netns_link 2025-07-11 11:01:04 -07:00
offload.c
percpu_freelist.c bpf: Convert percpu_freelist.c to rqspinlock 2025-03-19 08:03:05 -07:00
percpu_freelist.h bpf: Convert percpu_freelist.c to rqspinlock 2025-03-19 08:03:05 -07:00
prog_iter.c bpf: Clean up individual BTF_ID code 2025-07-16 18:34:42 -07:00
queue_stack_maps.c bpf: Convert queue_stack map to rqspinlock 2025-04-10 12:51:10 -07:00
range_tree.c
range_tree.h
relo_core.c
reuseport_array.c
ringbuf.c bpf: Convert ringbuf map to rqspinlock 2025-04-11 10:28:26 -07:00
rqspinlock.c bpf: Report rqspinlock deadlocks/timeout to BPF stderr 2025-07-03 19:30:07 -07:00
rqspinlock.h rqspinlock: Protect waiters in queue from stalls 2025-03-19 08:03:05 -07:00
stackmap.c
stream.c bpf: Fix improper int-to-ptr cast in dump_stack_cb 2025-07-07 08:30:15 -07:00
syscall.c bpf: Move bpf map owner out of common struct 2025-07-31 11:30:05 -07:00
sysfs_btf.c Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
task_iter.c
tcx.c bpf: Remove location field in tcx_link 2025-07-11 11:00:57 -07:00
tnum.c bpf: Add range tracking for BPF_NEG 2025-06-25 15:12:17 -07:00
token.c bpf: Add struct bpf_token_info 2025-07-16 18:38:05 -07:00
trampoline.c bpf: Add attach_type field to bpf_link 2025-07-11 10:51:55 -07:00
verifier.c bpf: Add dynptr type for skb metadata 2025-08-18 10:29:42 -07:00