Message ID | 20211115163943.3922547-1-yhs@fb.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 4746158305e98c91c479539d53ef9bf8c520dd66 |
Delegated to: | BPF |
Headers | show |
Series | bpf: fix a couple of missed btf_type_tag handling in libbpf | expand |
On 11/15/21 5:39 PM, Yonghong Song wrote: > Without previous libbpf patch, the following error will occur: > $ ./test_progs -t btf > ... > do_test_dedup:FAIL:check btf_dedup failed errno:-22#13/205 btf/dedup: btf_type_tag #5, struct:FAIL > > And the previfous libbpf patch fixed the issue. Fixed up the typo above while applying and also formatted the 1/2 a bit better. checkpatch usually has a lot of noise in its output, but it would catch things like typos when quickly running before submission, fwiw. Anyway, thanks!
On 11/16/21 4:27 AM, Daniel Borkmann wrote: > On 11/15/21 5:39 PM, Yonghong Song wrote: >> Without previous libbpf patch, the following error will occur: >> $ ./test_progs -t btf >> ... >> do_test_dedup:FAIL:check btf_dedup failed errno:-22#13/205 >> btf/dedup: btf_type_tag #5, struct:FAIL >> >> And the previfous libbpf patch fixed the issue. > > Fixed up the typo above while applying and also formatted the 1/2 a bit > better. > checkpatch usually has a lot of noise in its output, but it would catch > things > like typos when quickly running before submission, fwiw. Anyway, thanks! Thanks for the fixup! I need to remember to run checkpatch even for small patches!
diff --git a/tools/testing/selftests/bpf/prog_tests/btf.c b/tools/testing/selftests/bpf/prog_tests/btf.c index 4aa6343dc4c8..f9326a13badb 100644 --- a/tools/testing/selftests/bpf/prog_tests/btf.c +++ b/tools/testing/selftests/bpf/prog_tests/btf.c @@ -7352,6 +7352,32 @@ static struct btf_dedup_test dedup_tests[] = { BTF_STR_SEC("\0tag1"), }, }, +{ + .descr = "dedup: btf_type_tag #5, struct", + .input = { + .raw_types = { + BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4), /* [1] */ + BTF_TYPE_TAG_ENC(NAME_NTH(1), 1), /* [2] */ + BTF_TYPE_ENC(NAME_NTH(2), BTF_INFO_ENC(BTF_KIND_STRUCT, 1, 1), 4), /* [3] */ + BTF_MEMBER_ENC(NAME_NTH(3), 2, BTF_MEMBER_OFFSET(0, 0)), + BTF_TYPE_TAG_ENC(NAME_NTH(1), 1), /* [4] */ + BTF_TYPE_ENC(NAME_NTH(2), BTF_INFO_ENC(BTF_KIND_STRUCT, 1, 1), 4), /* [5] */ + BTF_MEMBER_ENC(NAME_NTH(3), 4, BTF_MEMBER_OFFSET(0, 0)), + BTF_END_RAW, + }, + BTF_STR_SEC("\0tag1\0t\0m"), + }, + .expect = { + .raw_types = { + BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4), /* [1] */ + BTF_TYPE_TAG_ENC(NAME_NTH(1), 1), /* [2] */ + BTF_TYPE_ENC(NAME_NTH(2), BTF_INFO_ENC(BTF_KIND_STRUCT, 1, 1), 4), /* [3] */ + BTF_MEMBER_ENC(NAME_NTH(3), 2, BTF_MEMBER_OFFSET(0, 0)), + BTF_END_RAW, + }, + BTF_STR_SEC("\0tag1\0t\0m"), + }, +}, };
Without previous libbpf patch, the following error will occur: $ ./test_progs -t btf ... do_test_dedup:FAIL:check btf_dedup failed errno:-22#13/205 btf/dedup: btf_type_tag #5, struct:FAIL And the previfous libbpf patch fixed the issue. Signed-off-by: Yonghong Song <yhs@fb.com> --- tools/testing/selftests/bpf/prog_tests/btf.c | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+)