Hi! This patchset provides what is needed for storing skbs as kptrs in bpf maps. We start with necessary kernel change as discussed at [0] with Martin, then next patch adds kfuncs for handling skb refcount and on top of that a test case is added where one program stores skbs and then next program is able to retrieve them from map. Martin, regarding the kernel change I decided to go with boolean approach instead of what you initially suggested. Let me know if it works for you. Thanks, Maciej [0]: https://lore.kernel.org/bpf/Z0X%2F9PhIhvQwsgfW@boxer/ Maciej Fijalkowski (3): bpf: call btf_is_projection_of() conditionally bpf: add kfunc for skb refcounting selftests: bpf: implement test case for skb kptr map storage include/linux/btf.h | 4 +- kernel/bpf/btf.c | 11 +-- kernel/bpf/verifier.c | 3 +- net/core/filter.c | 62 +++++++++++++++ .../selftests/bpf/prog_tests/skb_map_kptrs.c | 75 ++++++++++++++++++ .../selftests/bpf/progs/skb_map_kptrs.c | 77 +++++++++++++++++++ 6 files changed, 224 insertions(+), 8 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/skb_map_kptrs.c create mode 100644 tools/testing/selftests/bpf/progs/skb_map_kptrs.c -- 2.43.0