From: Mykyta Yatsenko <yatsenko@xxxxxxxx> This patch adds new kfuncs that enable reading variable-length user or kernel data directly into dynptrs. These kfuncs provide a way to perform dynamically-sized reads while maintaining memory safety. Unlike existing `bpf_probe_read_{user|kernel}` APIs, which are limited to constant-sized reads, these new kfuncs allow for more flexible data access. Mykyta Yatsenko (3): helpers: make few bpf helpers public bpf: implement dynptr copy kfuncs selftests/bpf: introduce tests for dynptr copy kfuncs include/linux/bpf.h | 14 ++ kernel/bpf/helpers.c | 22 +- kernel/trace/bpf_trace.c | 193 ++++++++++++++++ tools/testing/selftests/bpf/DENYLIST | 1 + .../testing/selftests/bpf/prog_tests/dynptr.c | 13 ++ .../selftests/bpf/progs/dynptr_success.c | 218 ++++++++++++++++++ 6 files changed, 449 insertions(+), 12 deletions(-) -- 2.49.0