This patchset is the 3rd in the dynptr series. The 1st can be found here [0] and the 2nd can be found here [1]. In this patchset, the following convenience helpers are added for interacting with bpf dynamic pointers: * bpf_dynptr_data_rdonly * bpf_dynptr_trim * bpf_dynptr_advance * bpf_dynptr_is_null * bpf_dynptr_is_rdonly * bpf_dynptr_get_size * bpf_dynptr_get_offset * bpf_dynptr_clone * bpf_dynptr_iterator [0] https://lore.kernel.org/bpf/20220523210712.3641569-1-joannelkoong@xxxxxxxxx/ [1] https://lore.kernel.org/bpf/20220907183129.745846-1-joannelkoong@xxxxxxxxx/ Joanne Koong (8): bpf: Add bpf_dynptr_data_rdonly bpf: Add bpf_dynptr_trim and bpf_dynptr_advance bpf: Add bpf_dynptr_is_null and bpf_dynptr_is_rdonly bpf: Add bpf_dynptr_get_size and bpf_dynptr_get_offset bpf: Add bpf_dynptr_clone bpf: Add verifier support for custom callback return range bpf: Add bpf_dynptr_iterator selftests/bpf: Tests for dynptr convenience helpers include/linux/bpf_verifier.h | 1 + include/uapi/linux/bpf.h | 120 ++++ kernel/bpf/helpers.c | 231 +++++++- kernel/bpf/verifier.c | 155 +++-- scripts/bpf_doc.py | 3 + tools/include/uapi/linux/bpf.h | 120 ++++ .../testing/selftests/bpf/prog_tests/dynptr.c | 30 + .../testing/selftests/bpf/progs/dynptr_fail.c | 462 +++++++++++++++ .../selftests/bpf/progs/dynptr_success.c | 551 +++++++++++++++++- 9 files changed, 1617 insertions(+), 56 deletions(-) -- 2.30.2