Martin KaFai Lau 5f300e8004 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>
2018-07-27 03:45:49 +02:00
..
2018-06-15 18:10:01 -03:00
2018-06-12 16:19:22 -07:00
2018-06-28 14:00:40 +02:00
2018-06-06 16:04:55 -07:00
\n
2018-06-17 05:06:18 +09:00
2018-03-15 20:34:40 +01:00
2018-04-27 14:34:51 +02:00
2018-06-16 07:36:39 +09:00
2018-01-05 18:43:00 +11:00
2018-06-08 17:21:52 -07:00
2018-06-06 16:34:00 -07:00
2018-05-15 08:10:50 +02:00
2018-06-12 16:19:22 -07:00
2018-06-07 16:56:28 -04:00
2018-06-12 16:19:22 -07:00