On 2/5/19 6:36 PM, Alexei Starovoitov wrote: > On Tue, Feb 05, 2019 at 02:28:44PM -0800, Yonghong Song wrote: >> Commit 9c651127445c ("selftests/btf: add initial BTF dedup tests") >> added dedup tests in test_btf.c. >> It broke the raw test: >> BTF raw test[71] (func proto (Bad arg name_off)): >> btf_raw_create:2905:FAIL Error getting string #65535, strs_cnt:1 >> >> The test itself encodes invalid func_proto parameter name >> offset 0xffffFFFF as a negative test for the kernel. >> The above commit changed the meaning of that offset and >> resulted in a user space error. >> #define NAME_NTH(N) (0xffff0000 | N) >> #define IS_NAME_NTH(X) ((X & 0xffff0000) == 0xffff0000) >> #define GET_NAME_NTH_IDX(X) (X & 0x0000ffff) >> >> Currently, the kernel permits maximum name offset 0xffff. >> Set the test name off as 0x0fffFFFF to trigger the kernel >> verification failure. >> >> Cc: Andrii Nakryiko <andr...@fb.com> >> Fixes: 9c651127445c ("selftests/btf: add initial BTF dedup tests") >> Signed-off-by: Yonghong Song <y...@fb.com> > > Applied, Thanks > > Also I see the following new error in test_btf: > BTF libbpf test[2] (test_btf_nokv.o): libbpf: map:btf_map > container_name:____btf_map_btf_map cannot be found in BTF. Missing > BPF_ANNOTATE_KV_PAIR? > OK > > A bunch of similar errors are in test_progs as well. > I suspect it's related to the last few btf changes. > Andrii, Yonghong, Please investigate.
It is due to one of previous patches to refector btf__get_map_kv_tids(), accidentally using pr_warning instead of original pr_debug. Will submit a patch soon. >