diff options
author | Martin KaFai Lau <kafai@fb.com> | 2018-07-26 09:57:59 -0700 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-07-27 03:45:49 +0200 |
commit | 5f300e8004cb80182a24c0fa488218a4a43e6aac (patch) | |
tree | e426308d24c517904c0e7117aa2878964d3b02e0 /mm/shmem.c | |
parent | 36e0f12bbfd3016f495904b35e41c5711707509f (diff) | |
download | linux-5f300e8004cb80182a24c0fa488218a4a43e6aac.tar.bz2 |
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 'mm/shmem.c')
0 files changed, 0 insertions, 0 deletions