Commit e38096d9 authored by Yonghong Song's avatar Yonghong Song Committed by Martin KaFai Lau

selftests/bpf: Add a test where map key_type_id with decl_tag type

Add two selftests where map creation key/value type_id's are
decl_tags. Without previous patch, kernel warnings will
appear similar to the one in the previous patch. With the previous
patch, both kernel warnings are silenced.
Signed-off-by: default avatarYonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20230530205034.266643-1-yhs@fb.comSigned-off-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
parent e6c2f594
...@@ -3990,6 +3990,46 @@ static struct btf_raw_test raw_tests[] = { ...@@ -3990,6 +3990,46 @@ static struct btf_raw_test raw_tests[] = {
.btf_load_err = true, .btf_load_err = true,
.err_str = "Invalid arg#1", .err_str = "Invalid arg#1",
}, },
{
.descr = "decl_tag test #18, decl_tag as the map key type",
.raw_types = {
BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4), /* [1] */
BTF_STRUCT_ENC(0, 2, 8), /* [2] */
BTF_MEMBER_ENC(NAME_TBD, 1, 0),
BTF_MEMBER_ENC(NAME_TBD, 1, 32),
BTF_DECL_TAG_ENC(NAME_TBD, 2, -1), /* [3] */
BTF_END_RAW,
},
BTF_STR_SEC("\0m1\0m2\0tag"),
.map_type = BPF_MAP_TYPE_HASH,
.map_name = "tag_type_check_btf",
.key_size = 8,
.value_size = 4,
.key_type_id = 3,
.value_type_id = 1,
.max_entries = 1,
.map_create_err = true,
},
{
.descr = "decl_tag test #19, decl_tag as the map value type",
.raw_types = {
BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4), /* [1] */
BTF_STRUCT_ENC(0, 2, 8), /* [2] */
BTF_MEMBER_ENC(NAME_TBD, 1, 0),
BTF_MEMBER_ENC(NAME_TBD, 1, 32),
BTF_DECL_TAG_ENC(NAME_TBD, 2, -1), /* [3] */
BTF_END_RAW,
},
BTF_STR_SEC("\0m1\0m2\0tag"),
.map_type = BPF_MAP_TYPE_HASH,
.map_name = "tag_type_check_btf",
.key_size = 4,
.value_size = 8,
.key_type_id = 1,
.value_type_id = 3,
.max_entries = 1,
.map_create_err = true,
},
{ {
.descr = "type_tag test #1", .descr = "type_tag test #1",
.raw_types = { .raw_types = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment