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: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20230530205034.266643-1-yhs@fb.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
This commit is contained in:
Yonghong Song 2023-05-30 13:50:34 -07:00 committed by Martin KaFai Lau
parent e6c2f594ed
commit e38096d95f
1 changed files with 40 additions and 0 deletions

View File

@ -3990,6 +3990,46 @@ static struct btf_raw_test raw_tests[] = {
.btf_load_err = true,
.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",
.raw_types = {