[PATCH bpf-next 0/2] inline asm helpers to access array elements

Barret Rhoden posted 2 patches 1 year, 11 months ago
There is a newer version of this series
tools/bpf/bpftool/gen.c                       |  16 +-
tools/lib/bpf/libbpf.c                        |  23 +++
tools/lib/bpf/libbpf.h                        |   6 +
tools/lib/bpf/libbpf.map                      |   4 +
tools/testing/selftests/bpf/Makefile          |   2 +-
.../bpf/prog_tests/test_array_elem.c          | 112 ++++++++++
.../selftests/bpf/progs/array_elem_test.c     | 195 ++++++++++++++++++
tools/testing/selftests/bpf/progs/bpf_misc.h  |  43 ++++
8 files changed, 387 insertions(+), 14 deletions(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/test_array_elem.c
create mode 100644 tools/testing/selftests/bpf/progs/array_elem_test.c
[PATCH bpf-next 0/2] inline asm helpers to access array elements
Posted by Barret Rhoden 1 year, 11 months ago
Sorry for the delay on this.  Discussed in [1].  It's a helper for
proving to the verifier that your access in the array is valid.  Happy
to change names or whatever.  =)

Also added a libbpf helper function for mmapping an mmappable map.

We've been using both in our ghost-BPF schedulers[2].

[1] https://lore.kernel.org/bpf/b4cb3423-b18d-8fad-7355-d8aa66ccfe4c@google.com/T/
[2] https://github.com/google/ghost-userspace/blob/main/third_party/bpf/common.bpf.h#L218

Barret Rhoden (2):
  libbpf: add helpers for mmapping maps
  selftests/bpf: add inline assembly helpers to access array elements

 tools/bpf/bpftool/gen.c                       |  16 +-
 tools/lib/bpf/libbpf.c                        |  23 +++
 tools/lib/bpf/libbpf.h                        |   6 +
 tools/lib/bpf/libbpf.map                      |   4 +
 tools/testing/selftests/bpf/Makefile          |   2 +-
 .../bpf/prog_tests/test_array_elem.c          | 112 ++++++++++
 .../selftests/bpf/progs/array_elem_test.c     | 195 ++++++++++++++++++
 tools/testing/selftests/bpf/progs/bpf_misc.h  |  43 ++++
 8 files changed, 387 insertions(+), 14 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/test_array_elem.c
 create mode 100644 tools/testing/selftests/bpf/progs/array_elem_test.c

-- 
2.43.0.472.g3155946c3a-goog