aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/Makefile
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2019-03-28 22:30:53 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2019-04-01 15:41:05 +0200
commit9de2640b06ecf0e6ef4b24b07a5573a2804d77d0 (patch)
tree76d632b50aa1560b31d29d76d232e682fad68691 /tools/testing/selftests/bpf/Makefile
parentMerge branch 'variable-stack-access' (diff)
downloadlinux-dev-9de2640b06ecf0e6ef4b24b07a5573a2804d77d0.tar.xz
linux-dev-9de2640b06ecf0e6ef4b24b07a5573a2804d77d0.zip
bpf: add bpffs multi-dimensional array tests in test_btf
For multiple dimensional arrays like below, int a[2][3] both llvm and pahole generated one BTF_KIND_ARRAY type like . element_type: int . index_type: unsigned int . number of elements: 6 Such a collapsed BTF_KIND_ARRAY type will cause the divergence in BTF vs. the user code. In the compile-once-run-everywhere project, the header file is generated from BTF and used for bpf program, and the definition in the header file will be different from what user expects. But the kernel actually supports chained multi-dimensional array types properly. The above "int a[2][3]" can be represented as Type #n: . element_type: int . index_type: unsigned int . number of elements: 3 Type #(n+1): . element_type: type #n . index_type: unsigned int . number of elements: 2 The following llvm commit https://reviews.llvm.org/rL357215 also enables llvm to generated proper chained multi-dimensional arrays. The test_btf already has a raw test ("struct test #1") for chained multi-dimensional arrays. This patch added amended bpffs test for chained multi-dimensional arrays. Acked-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions