summaryrefslogtreecommitdiffstats
path: root/tools/lib/bpf/libbpf.c
diff options
context:
space:
mode:
authorMartin KaFai Lau <kafai@fb.com>2018-07-26 09:57:59 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2018-07-27 03:45:49 +0200
commit5f300e8004cb80182a24c0fa488218a4a43e6aac (patch)
treee426308d24c517904c0e7117aa2878964d3b02e0 /tools/lib/bpf/libbpf.c
parent36e0f12bbfd3016f495904b35e41c5711707509f (diff)
downloadop-kernel-dev-5f300e8004cb80182a24c0fa488218a4a43e6aac.zip
op-kernel-dev-5f300e8004cb80182a24c0fa488218a4a43e6aac.tar.gz
bpf: btf: Use exact btf value_size match in map_check_btf()
The current map_check_btf() in BPF_MAP_TYPE_ARRAY rejects '> map->value_size' to ensure map_seq_show_elem() will not access things beyond an array element. Yonghong suggested that using '!=' is a more correct check. The 8 bytes round_up on value_size is stored in array->elem_size. Hence, using '!=' on map->value_size is a proper check. This patch also adds new tests to check the btf array key type and value type. Two of these new tests verify the btf's value_size (the change in this patch). It also fixes two existing tests that wrongly encoded a btf's type size (pprint_test) and the value_type_id (in one of the raw_tests[]). However, that do not affect these two BTF verification tests before or after this test changes. These two tests mainly failed at array creation time after this patch. Fixes: a26ca7c982cb ("bpf: btf: Add pretty print support to the basic arraymap") Suggested-by: Yonghong Song <yhs@fb.com> Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/lib/bpf/libbpf.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud