[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191215070844.1014385-1-andriin@fb.com>
Date: Sat, 14 Dec 2019 23:08:42 -0800
From: Andrii Nakryiko <andriin@...com>
To: <bpf@...r.kernel.org>, <netdev@...r.kernel.org>, <ast@...com>,
<daniel@...earbox.net>
CC: <andrii.nakryiko@...il.com>, <kernel-team@...com>,
Andrii Nakryiko <andriin@...com>
Subject: [PATCH bpf-next 0/2] CO-RE relocation support for flexible arrays
Add support for flexible array accesses in a relocatable manner in BPF CO-RE.
It's a typical pattern in C, and kernel in particular, to provide
a fixed-length struct with zero-sized or dimensionless array at the end. In
such cases variable-sized array contents follows immediately after the end of
a struct. This patch set adds support for such access pattern by allowing
accesses to such arrays.
Patch #1 adds libbpf support. Patch #2 adds few test cases for validation.
Andrii Nakryiko (2):
libbpf: support flexible arrays in CO-RE
selftests/bpf: add flexible array relocation tests
tools/lib/bpf/libbpf.c | 34 +++++++++++++---
.../selftests/bpf/prog_tests/core_reloc.c | 4 ++
...f__core_reloc_arrays___equiv_zero_sz_arr.c | 3 ++
..._core_reloc_arrays___err_bad_zero_sz_arr.c | 3 ++
.../btf__core_reloc_arrays___fixed_arr.c | 3 ++
.../selftests/bpf/progs/core_reloc_types.h | 39 +++++++++++++++++++
.../bpf/progs/test_core_reloc_arrays.c | 8 ++--
7 files changed, 85 insertions(+), 9 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_arrays___equiv_zero_sz_arr.c
create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_arrays___err_bad_zero_sz_arr.c
create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_arrays___fixed_arr.c
--
2.17.1
Powered by blists - more mailing lists