[14:06:43][root@316.2448_874832634.el9.x86_64]# './test_progs -t btf' #21/1 btf/struct test #1:OK #21/2 btf/struct test #2:OK #21/3 btf/struct test #3 Invalid member offset:OK #21/4 btf/global data test #1:OK #21/5 btf/global data test #2:OK #21/6 btf/global data test #3:OK #21/7 btf/global data test #4, unsupported linkage:OK #21/8 btf/global data test #5, invalid var type:OK #21/9 btf/global data test #6, invalid var type (fwd type):OK #21/10 btf/global data test #7, invalid var type (fwd type):OK #21/11 btf/global data test #8, invalid var size:OK #21/12 btf/global data test #9, invalid var size:OK #21/13 btf/global data test #10, invalid var size:OK #21/14 btf/global data test #11, multiple section members:OK #21/15 btf/global data test #12, invalid offset:OK #21/16 btf/global data test #13, invalid offset:OK #21/17 btf/global data test #14, invalid offset:OK #21/18 btf/global data test #15, not var kind:OK #21/19 btf/global data test #16, invalid var referencing sec:OK #21/20 btf/global data test #17, invalid var referencing var:OK #21/21 btf/global data test #18, invalid var loop:OK #21/22 btf/global data test #19, invalid var referencing var:OK #21/23 btf/global data test #20, invalid ptr referencing var:OK #21/24 btf/global data test #21, var included in struct:OK #21/25 btf/global data test #22, array of var:OK #21/26 btf/size check test #1:OK #21/27 btf/size check test #2:OK #21/28 btf/size check test #3:OK #21/29 btf/size check test #4:OK #21/30 btf/size check test #5:OK #21/31 btf/void test #1:OK #21/32 btf/void test #2:OK #21/33 btf/void test #3:OK #21/34 btf/void test #4:OK #21/35 btf/loop test #1:OK #21/36 btf/loop test #2:OK #21/37 btf/loop test #3:OK #21/38 btf/loop test #4:OK #21/39 btf/loop test #5:OK #21/40 btf/loop test #6:OK #21/41 btf/loop test #7:OK #21/42 btf/loop test #8:OK #21/43 btf/string section does not end with null:OK #21/44 btf/empty string section:OK #21/45 btf/empty type section:OK #21/46 btf/btf_header test. Longer hdr_len:OK #21/47 btf/btf_header test. Gap between hdr and type:OK #21/48 btf/btf_header test. Gap between type and str:OK #21/49 btf/btf_header test. Overlap between type and str:OK #21/50 btf/btf_header test. Larger BTF size:OK #21/51 btf/btf_header test. Smaller BTF size:OK #21/52 btf/array test. index_type/elem_type "int":OK #21/53 btf/array test. index_type/elem_type "const int":OK #21/54 btf/array test. index_type "const int:31":OK #21/55 btf/array test. elem_type "const int:31":OK #21/56 btf/array test. index_type "void":OK #21/57 btf/array test. index_type "const void":OK #21/58 btf/array test. elem_type "const void":OK #21/59 btf/array test. elem_type "const void *":OK #21/60 btf/array test. index_type "const void *":OK #21/61 btf/array test. t->size != 0":OK #21/62 btf/int test. invalid int_data:OK #21/63 btf/invalid BTF_INFO:OK #21/64 btf/fwd test. t->type != 0":OK #21/65 btf/typedef (invalid name, name_off = 0):OK #21/66 btf/typedef (invalid name, invalid identifier):OK #21/67 btf/ptr type (invalid name, name_off <> 0):OK #21/68 btf/volatile type (invalid name, name_off <> 0):OK #21/69 btf/const type (invalid name, name_off <> 0):OK #21/70 btf/restrict type (invalid name, name_off <> 0):OK #21/71 btf/fwd type (invalid name, name_off = 0):OK #21/72 btf/fwd type (invalid name, invalid identifier):OK #21/73 btf/array type (invalid name, name_off <> 0):OK #21/74 btf/struct type (name_off = 0):OK #21/75 btf/struct type (invalid name, invalid identifier):OK #21/76 btf/struct member (name_off = 0):OK #21/77 btf/struct member (invalid name, invalid identifier):OK #21/78 btf/enum type (name_off = 0):OK #21/79 btf/enum type (invalid name, invalid identifier):OK #21/80 btf/enum member (invalid name, name_off = 0):OK #21/81 btf/enum member (invalid name, invalid identifier):OK #21/82 btf/arraymap invalid btf key (a bit field):OK #21/83 btf/arraymap invalid btf key (!= 32 bits):OK #21/84 btf/arraymap invalid btf value (too small):OK #21/85 btf/arraymap invalid btf value (too big):OK #21/86 btf/func proto (int (*)(int, unsigned int)):OK #21/87 btf/func proto (vararg):OK #21/88 btf/func proto (vararg with name):OK #21/89 btf/func proto (arg after vararg):OK #21/90 btf/func proto (CONST=>TYPEDEF=>PTR=>FUNC_PROTO):OK #21/91 btf/func proto (TYPEDEF=>FUNC_PROTO):OK #21/92 btf/func proto (btf_resolve(arg)):OK #21/93 btf/func proto (Not all arg has name):OK #21/94 btf/func proto (Bad arg name_off):OK #21/95 btf/func proto (Bad arg name):OK #21/96 btf/func proto (Invalid return type):OK #21/97 btf/func proto (with func name):OK #21/98 btf/func proto (const void arg):OK #21/99 btf/func (void func(int a, unsigned int b)):OK #21/100 btf/func (No func name):OK #21/101 btf/func (Invalid func name):OK #21/102 btf/func (Some arg has no name):OK #21/103 btf/func (Non zero vlen):OK #21/104 btf/func (Not referring to FUNC_PROTO):OK #21/105 btf/invalid int kind_flag:OK #21/106 btf/invalid ptr kind_flag:OK #21/107 btf/invalid array kind_flag:OK #21/108 btf/valid fwd kind_flag:OK #21/109 btf/invalid typedef kind_flag:OK #21/110 btf/invalid volatile kind_flag:OK #21/111 btf/invalid const kind_flag:OK #21/112 btf/invalid restrict kind_flag:OK #21/113 btf/invalid func kind_flag:OK #21/114 btf/invalid func_proto kind_flag:OK #21/115 btf/valid struct, kind_flag, bitfield_size = 0:OK #21/116 btf/valid struct, kind_flag, int member, bitfield_size != 0:OK #21/117 btf/valid union, kind_flag, int member, bitfield_size != 0:OK #21/118 btf/valid struct, kind_flag, enum member, bitfield_size != 0:OK #21/119 btf/valid union, kind_flag, enum member, bitfield_size != 0:OK #21/120 btf/valid struct, kind_flag, typedef member, bitfield_size != 0:OK #21/121 btf/valid union, kind_flag, typedef member, bitfield_size != 0:OK #21/122 btf/invalid struct, kind_flag, bitfield_size greater than struct size:OK #21/123 btf/invalid struct, kind_flag, bitfield base_type int not regular:OK #21/124 btf/invalid struct, kind_flag, base_type int not regular:OK #21/125 btf/invalid union, kind_flag, bitfield_size greater than struct size:OK #21/126 btf/invalid struct, kind_flag, int member, bitfield_size = 0, wrong byte alignment:OK #21/127 btf/invalid struct, kind_flag, enum member, bitfield_size = 0, wrong byte alignment:OK #21/128 btf/128-bit int:OK #21/129 btf/struct, 128-bit int member:OK #21/130 btf/struct, 120-bit int member bitfield:OK #21/131 btf/struct, kind_flag, 128-bit int member:OK #21/132 btf/struct, kind_flag, 120-bit int member bitfield:OK #21/133 btf/struct->ptr->typedef->array->int size resolution:OK #21/134 btf/struct->ptr->typedef->multi-array->int size resolution:OK #21/135 btf/typedef/multi-arr mix size resolution:OK #21/136 btf/datasec: vlen == 0:OK #21/137 btf/float test #1, well-formed:OK #21/138 btf/float test #2, invalid vlen:OK #21/139 btf/float test #3, invalid kind_flag:OK #21/140 btf/float test #4, member does not fit:OK #21/141 btf/float test #5, member is not properly aligned:OK #21/142 btf/float test #6, invalid size:OK #21/143 btf/decl_tag test #1, struct/member, well-formed:OK #21/144 btf/decl_tag test #2, union/member, well-formed:OK #21/145 btf/decl_tag test #3, variable, well-formed:OK #21/146 btf/decl_tag test #4, func/parameter, well-formed:OK #21/147 btf/decl_tag test #5, invalid value:OK #21/148 btf/decl_tag test #6, invalid target type:OK #21/149 btf/decl_tag test #7, invalid vlen:OK #21/150 btf/decl_tag test #8, invalid kflag:OK #21/151 btf/decl_tag test #9, var, invalid component_idx:OK #21/152 btf/decl_tag test #10, struct member, invalid component_idx:OK #21/153 btf/decl_tag test #11, func parameter, invalid component_idx:OK #21/154 btf/decl_tag test #12, < -1 component_idx:OK #21/155 btf/decl_tag test #13, typedef, well-formed:OK #21/156 btf/decl_tag test #14, typedef, invalid component_idx:OK #21/157 btf/decl_tag test #15, func, invalid func proto:OK #21/158 btf/decl_tag test #16, func proto, return type:OK #21/159 btf/decl_tag test #17, func proto, argument:OK #21/160 btf/type_tag test #1:OK #21/161 btf/type_tag test #2, type tag order:OK #21/162 btf/type_tag test #3, type tag order:OK #21/163 btf/type_tag test #4, type tag order:OK #21/164 btf/type_tag test #5, type tag order:OK #21/165 btf/type_tag test #6, type tag order:OK #21/166 btf/enum64 test #1, unsigned, size 8:OK #21/167 btf/enum64 test #2, signed, size 4:OK #21/168 btf/== raw_btf_size+1:OK #21/169 btf/== raw_btf_size-3:OK #21/170 btf/Large bpf_btf_info:OK #21/171 btf/BTF ID:OK #21/172 btf/test_btf_newkv.bpf.o:OK #21/173 btf/test_btf_nokv.bpf.o:OK #21/174 btf/func_type (main func + one sub):OK #21/175 btf/func_type (Incorrect func_info_rec_size):OK #21/176 btf/func_type (Incorrect func_info_cnt):OK #21/177 btf/func_type (Incorrect bpf_func_info.insn_off):OK #21/178 btf/line_info (No subprog):OK #21/179 btf/line_info (No subprog. insn_off >= prog->len):OK #21/180 btf/line_info (Zero bpf insn code):OK #21/181 btf/line_info (No subprog. zero tailing line_info:OK #21/182 btf/line_info (No subprog. nonzero tailing line_info):OK #21/183 btf/line_info (subprog):OK #21/184 btf/line_info (subprog + func_info):OK #21/185 btf/line_info (subprog. missing 1st func line info):OK #21/186 btf/line_info (subprog. missing 2nd func line info):OK #21/187 btf/line_info (subprog. unordered insn offset):OK #21/188 btf/line_info (dead start):OK #21/189 btf/line_info (dead end):OK #21/190 btf/line_info (dead code + subprog + func_info):OK #21/191 btf/line_info (dead subprog):OK #21/192 btf/line_info (dead last subprog):OK #21/193 btf/line_info (dead subprog + dead start):OK #21/194 btf/line_info (dead subprog + dead start w/ move):OK #21/195 btf/line_info (dead end + subprog start w/ no linfo):OK #21/196 btf/dedup: unused strings filtering:OK #21/197 btf/dedup: strings deduplication:OK #21/198 btf/dedup: struct example #1:OK #21/199 btf/dedup: struct <-> fwd resolution w/ hash collision:OK #21/200 btf/dedup: void equiv check:OK #21/201 btf/dedup: all possible kinds (no duplicates):OK #21/202 btf/dedup: no int/float duplicates:OK #21/203 btf/dedup: enum fwd resolution:OK #21/204 btf/dedup: datasec and vars pass-through:OK #21/205 btf/dedup: func/func_arg/var tags:OK #21/206 btf/dedup: func/func_param tags:OK #21/207 btf/dedup: struct/struct_member tags:OK #21/208 btf/dedup: typedef tags:OK #21/209 btf/dedup: btf_type_tag #1:OK #21/210 btf/dedup: btf_type_tag #2:OK #21/211 btf/dedup: btf_type_tag #3:OK #21/212 btf/dedup: btf_type_tag #4:OK #21/213 btf/dedup: btf_type_tag #5, struct:OK #21/214 btf/dedup: enum64, standalone:OK #21/215 btf/dedup: enum64, fwd resolution:OK #21/216 btf/dedup: enum and enum64, no dedup:OK #21/217 btf/dedup: enum of different size: no dedup:OK #21/218 btf/dedup: enum fwd to enum64:OK #21/219 btf/dedup: enum64 fwd to enum:OK #21/220 btf/dedup: standalone fwd declaration struct:OK #21/221 btf/dedup: standalone fwd declaration union:OK #21/222 btf/dedup: standalone fwd declaration wrong kind:OK #21/223 btf/dedup: standalone fwd declaration name conflict:OK #21/224 btf/BTF pretty print array:OK #21/225 btf/BTF pretty print hash:OK #21/226 btf/BTF pretty print lru hash:OK #21/227 btf/BTF pretty print percpu array:OK #21/228 btf/BTF pretty print percpu hash:OK #21/229 btf/BTF pretty print lru percpu hash:OK #21/230 btf/BTF pretty print array:OK #21/231 btf/BTF pretty print array:OK #21/232 btf/BTF pretty print array:OK #21 btf:OK #22/1 btf_dedup_split/split_simple:OK #22/2 btf_dedup_split/split_struct_duped:OK #22/3 btf_dedup_split/split_fwd_resolve:OK #22/4 btf_dedup_split/split_dup_struct_in_cu:OK #22 btf_dedup_split:OK #23/1 btf_dump/btf_dump: syntax:OK #23/2 btf_dump/btf_dump: ordering:OK #23/3 btf_dump/btf_dump: padding:OK #23/4 btf_dump/btf_dump: packing:OK #23/5 btf_dump/btf_dump: bitfields:OK #23/6 btf_dump/btf_dump: multidim:OK #23/7 btf_dump/btf_dump: namespacing:OK #23/8 btf_dump/btf_dump: incremental:OK #23/9 btf_dump/btf_dump: int_data:OK #23/10 btf_dump/btf_dump: float_data:OK #23/11 btf_dump/btf_dump: char_data:OK #23/12 btf_dump/btf_dump: typedef_data:OK #23/13 btf_dump/btf_dump: enum_data:OK #23/14 btf_dump/btf_dump: struct_data:OK #23/15 btf_dump/btf_dump: var_data:OK #23/16 btf_dump/btf_dump: datasec_data:OK #23 btf_dump:OK #24 btf_endian:OK #25/1 btf_map_in_map/lookup_update:OK #25/2 btf_map_in_map/diff_size:OK #25 btf_map_in_map:OK #26 btf_module:OK #27/1 btf_skc_cls_ingress/conn:OK #27/2 btf_skc_cls_ingress/syncookie:OK #27 btf_skc_cls_ingress:OK #28 btf_split:OK #29/1 btf_tag/btf_decl_tag:OK #29/2 btf_tag/btf_type_tag:OK #29/3 btf_tag/btf_type_tag_user_mod1:SKIP #29/4 btf_tag/btf_type_tag_user_mod2:SKIP #29/5 btf_tag/btf_type_tag_sys_user_vmlinux:SKIP #29/6 btf_tag/btf_type_tag_percpu_mod1:SKIP #29/7 btf_tag/btf_type_tag_percpu_mod2:SKIP #29/8 btf_tag/btf_type_tag_percpu_vmlinux_load:SKIP #29/9 btf_tag/btf_type_tag_percpu_vmlinux_helper:SKIP #29 btf_tag:OK (SKIP: 7/9) #30/1 btf_write/btf_add:OK #30/2 btf_write/btf_add_btf:OK #30 btf_write:OK #54/1 core_reloc_btfgen/kernel:SKIP #54/2 core_reloc_btfgen/module_probed:SKIP #54/3 core_reloc_btfgen/module_direct:SKIP #54/4 core_reloc_btfgen/flavors:OK #54/5 core_reloc_btfgen/flavors__err_wrong_name:OK #54/6 core_reloc_btfgen/nesting:OK #54/7 core_reloc_btfgen/nesting___anon_embed:OK #54/8 core_reloc_btfgen/nesting___struct_union_mixup:OK #54/9 core_reloc_btfgen/nesting___extra_nesting:OK #54/10 core_reloc_btfgen/nesting___dup_compat_types:OK #54/11 core_reloc_btfgen/nesting___err_missing_field:SKIP #54/12 core_reloc_btfgen/nesting___err_array_field:SKIP #54/13 core_reloc_btfgen/nesting___err_missing_container:SKIP #54/14 core_reloc_btfgen/nesting___err_nonstruct_container:SKIP #54/15 core_reloc_btfgen/nesting___err_array_container:SKIP #54/16 core_reloc_btfgen/nesting___err_dup_incompat_types:SKIP #54/17 core_reloc_btfgen/nesting___err_partial_match_dups:SKIP #54/18 core_reloc_btfgen/nesting___err_too_deep:SKIP #54/19 core_reloc_btfgen/arrays:OK #54/20 core_reloc_btfgen/arrays___diff_arr_dim:OK #54/21 core_reloc_btfgen/arrays___diff_arr_val_sz:OK #54/22 core_reloc_btfgen/arrays___equiv_zero_sz_arr:OK #54/23 core_reloc_btfgen/arrays___fixed_arr:OK #54/24 core_reloc_btfgen/arrays___err_too_small:OK #54/25 core_reloc_btfgen/arrays___err_too_shallow:OK #54/26 core_reloc_btfgen/arrays___err_non_array:OK #54/27 core_reloc_btfgen/arrays___err_wrong_val_type:OK #54/28 core_reloc_btfgen/arrays___err_bad_zero_sz_arr:OK #54/29 core_reloc_btfgen/primitives:OK #54/30 core_reloc_btfgen/primitives___diff_enum_def:OK #54/31 core_reloc_btfgen/primitives___diff_func_proto:OK #54/32 core_reloc_btfgen/primitives___diff_ptr_type:OK #54/33 core_reloc_btfgen/primitives___err_non_enum:OK #54/34 core_reloc_btfgen/primitives___err_non_int:OK #54/35 core_reloc_btfgen/primitives___err_non_ptr:OK #54/36 core_reloc_btfgen/mods:OK #54/37 core_reloc_btfgen/mods___mod_swap:OK #54/38 core_reloc_btfgen/mods___typedefs:OK #54/39 core_reloc_btfgen/ptr_as_arr:OK #54/40 core_reloc_btfgen/ptr_as_arr___diff_sz:OK #54/41 core_reloc_btfgen/ints:OK #54/42 core_reloc_btfgen/ints___bool:OK #54/43 core_reloc_btfgen/ints___reverse_sign:OK #54/44 core_reloc_btfgen/misc:OK #54/45 core_reloc_btfgen/existence:OK #54/46 core_reloc_btfgen/existence___minimal:OK #54/47 core_reloc_btfgen/existence___wrong_field_defs:OK #54/48 core_reloc_btfgen/probed:bitfields:OK #54/49 core_reloc_btfgen/direct:bitfields:OK #54/50 core_reloc_btfgen/probed:bitfields___bit_sz_change:OK #54/51 core_reloc_btfgen/direct:bitfields___bit_sz_change:OK #54/52 core_reloc_btfgen/probed:bitfields___bitfield_vs_int:OK #54/53 core_reloc_btfgen/direct:bitfields___bitfield_vs_int:OK #54/54 core_reloc_btfgen/probed:bitfields___just_big_enough:OK #54/55 core_reloc_btfgen/direct:bitfields___just_big_enough:OK #54/56 core_reloc_btfgen/probed:bitfields___err_too_big_bitfield:SKIP #54/57 core_reloc_btfgen/direct:bitfields___err_too_big_bitfield:SKIP #54/58 core_reloc_btfgen/size:OK #54/59 core_reloc_btfgen/size___diff_sz:OK #54/60 core_reloc_btfgen/size___diff_offs:OK #54/61 core_reloc_btfgen/size___err_ambiguous:SKIP #54/62 core_reloc_btfgen/type_based:OK #54/63 core_reloc_btfgen/type_based___all_missing:OK #54/64 core_reloc_btfgen/type_based___diff:OK #54/65 core_reloc_btfgen/type_based___diff_sz:OK #54/66 core_reloc_btfgen/type_based___incompat:OK #54/67 core_reloc_btfgen/type_based___fn_wrong_args:OK #54/68 core_reloc_btfgen/type_id:OK #54/69 core_reloc_btfgen/type_id___missing_targets:OK #54/70 core_reloc_btfgen/enumval:OK #54/71 core_reloc_btfgen/enumval___diff:OK #54/72 core_reloc_btfgen/enumval___val3_missing:OK #54/73 core_reloc_btfgen/enumval___err_missing:OK #54/74 core_reloc_btfgen/enum64val:OK #54/75 core_reloc_btfgen/enum64val___diff:OK #54/76 core_reloc_btfgen/enum64val___val3_missing:OK #54/77 core_reloc_btfgen/enum64val___err_missing:OK #54 core_reloc_btfgen:OK (SKIP: 14/77) #98/1 ksyms_btf/basic:OK #98/2 ksyms_btf/null_check:OK #98/3 ksyms_btf/weak_ksyms:OK #98/4 ksyms_btf/weak_ksyms_lskel:OK #98/5 ksyms_btf/write_check1:OK #98/6 ksyms_btf/write_check2:OK #98 ksyms_btf:OK #155 resolve_btfids:OK #173 snprintf_btf:OK Summary: 14/329 PASSED, 21 SKIPPED, 0 FAILED :: [ PASS ] :: Command './test_progs -t btf' (Expected 0, got 0, score 19) [14:06:45][root@316.2448_874832634.el9.x86_64]# './test_progs-no_alu32 -t btf' #21/1 btf/struct test #1:OK #21/2 btf/struct test #2:OK #21/3 btf/struct test #3 Invalid member offset:OK #21/4 btf/global data test #1:OK #21/5 btf/global data test #2:OK #21/6 btf/global data test #3:OK #21/7 btf/global data test #4, unsupported linkage:OK #21/8 btf/global data test #5, invalid var type:OK #21/9 btf/global data test #6, invalid var type (fwd type):OK #21/10 btf/global data test #7, invalid var type (fwd type):OK #21/11 btf/global data test #8, invalid var size:OK #21/12 btf/global data test #9, invalid var size:OK #21/13 btf/global data test #10, invalid var size:OK #21/14 btf/global data test #11, multiple section members:OK #21/15 btf/global data test #12, invalid offset:OK #21/16 btf/global data test #13, invalid offset:OK #21/17 btf/global data test #14, invalid offset:OK #21/18 btf/global data test #15, not var kind:OK #21/19 btf/global data test #16, invalid var referencing sec:OK #21/20 btf/global data test #17, invalid var referencing var:OK #21/21 btf/global data test #18, invalid var loop:OK #21/22 btf/global data test #19, invalid var referencing var:OK #21/23 btf/global data test #20, invalid ptr referencing var:OK #21/24 btf/global data test #21, var included in struct:OK #21/25 btf/global data test #22, array of var:OK #21/26 btf/size check test #1:OK #21/27 btf/size check test #2:OK #21/28 btf/size check test #3:OK #21/29 btf/size check test #4:OK #21/30 btf/size check test #5:OK #21/31 btf/void test #1:OK #21/32 btf/void test #2:OK #21/33 btf/void test #3:OK #21/34 btf/void test #4:OK #21/35 btf/loop test #1:OK #21/36 btf/loop test #2:OK #21/37 btf/loop test #3:OK #21/38 btf/loop test #4:OK #21/39 btf/loop test #5:OK #21/40 btf/loop test #6:OK #21/41 btf/loop test #7:OK #21/42 btf/loop test #8:OK #21/43 btf/string section does not end with null:OK #21/44 btf/empty string section:OK #21/45 btf/empty type section:OK #21/46 btf/btf_header test. Longer hdr_len:OK #21/47 btf/btf_header test. Gap between hdr and type:OK #21/48 btf/btf_header test. Gap between type and str:OK #21/49 btf/btf_header test. Overlap between type and str:OK #21/50 btf/btf_header test. Larger BTF size:OK #21/51 btf/btf_header test. Smaller BTF size:OK #21/52 btf/array test. index_type/elem_type "int":OK #21/53 btf/array test. index_type/elem_type "const int":OK #21/54 btf/array test. index_type "const int:31":OK #21/55 btf/array test. elem_type "const int:31":OK #21/56 btf/array test. index_type "void":OK #21/57 btf/array test. index_type "const void":OK #21/58 btf/array test. elem_type "const void":OK #21/59 btf/array test. elem_type "const void *":OK #21/60 btf/array test. index_type "const void *":OK #21/61 btf/array test. t->size != 0":OK #21/62 btf/int test. invalid int_data:OK #21/63 btf/invalid BTF_INFO:OK #21/64 btf/fwd test. t->type != 0":OK #21/65 btf/typedef (invalid name, name_off = 0):OK #21/66 btf/typedef (invalid name, invalid identifier):OK #21/67 btf/ptr type (invalid name, name_off <> 0):OK #21/68 btf/volatile type (invalid name, name_off <> 0):OK #21/69 btf/const type (invalid name, name_off <> 0):OK #21/70 btf/restrict type (invalid name, name_off <> 0):OK #21/71 btf/fwd type (invalid name, name_off = 0):OK #21/72 btf/fwd type (invalid name, invalid identifier):OK #21/73 btf/array type (invalid name, name_off <> 0):OK #21/74 btf/struct type (name_off = 0):OK #21/75 btf/struct type (invalid name, invalid identifier):OK #21/76 btf/struct member (name_off = 0):OK #21/77 btf/struct member (invalid name, invalid identifier):OK #21/78 btf/enum type (name_off = 0):OK #21/79 btf/enum type (invalid name, invalid identifier):OK #21/80 btf/enum member (invalid name, name_off = 0):OK #21/81 btf/enum member (invalid name, invalid identifier):OK #21/82 btf/arraymap invalid btf key (a bit field):OK #21/83 btf/arraymap invalid btf key (!= 32 bits):OK #21/84 btf/arraymap invalid btf value (too small):OK #21/85 btf/arraymap invalid btf value (too big):OK #21/86 btf/func proto (int (*)(int, unsigned int)):OK #21/87 btf/func proto (vararg):OK #21/88 btf/func proto (vararg with name):OK #21/89 btf/func proto (arg after vararg):OK #21/90 btf/func proto (CONST=>TYPEDEF=>PTR=>FUNC_PROTO):OK #21/91 btf/func proto (TYPEDEF=>FUNC_PROTO):OK #21/92 btf/func proto (btf_resolve(arg)):OK #21/93 btf/func proto (Not all arg has name):OK #21/94 btf/func proto (Bad arg name_off):OK #21/95 btf/func proto (Bad arg name):OK #21/96 btf/func proto (Invalid return type):OK #21/97 btf/func proto (with func name):OK #21/98 btf/func proto (const void arg):OK #21/99 btf/func (void func(int a, unsigned int b)):OK #21/100 btf/func (No func name):OK #21/101 btf/func (Invalid func name):OK #21/102 btf/func (Some arg has no name):OK #21/103 btf/func (Non zero vlen):OK #21/104 btf/func (Not referring to FUNC_PROTO):OK #21/105 btf/invalid int kind_flag:OK #21/106 btf/invalid ptr kind_flag:OK #21/107 btf/invalid array kind_flag:OK #21/108 btf/valid fwd kind_flag:OK #21/109 btf/invalid typedef kind_flag:OK #21/110 btf/invalid volatile kind_flag:OK #21/111 btf/invalid const kind_flag:OK #21/112 btf/invalid restrict kind_flag:OK #21/113 btf/invalid func kind_flag:OK #21/114 btf/invalid func_proto kind_flag:OK #21/115 btf/valid struct, kind_flag, bitfield_size = 0:OK #21/116 btf/valid struct, kind_flag, int member, bitfield_size != 0:OK #21/117 btf/valid union, kind_flag, int member, bitfield_size != 0:OK #21/118 btf/valid struct, kind_flag, enum member, bitfield_size != 0:OK #21/119 btf/valid union, kind_flag, enum member, bitfield_size != 0:OK #21/120 btf/valid struct, kind_flag, typedef member, bitfield_size != 0:OK #21/121 btf/valid union, kind_flag, typedef member, bitfield_size != 0:OK #21/122 btf/invalid struct, kind_flag, bitfield_size greater than struct size:OK #21/123 btf/invalid struct, kind_flag, bitfield base_type int not regular:OK #21/124 btf/invalid struct, kind_flag, base_type int not regular:OK #21/125 btf/invalid union, kind_flag, bitfield_size greater than struct size:OK #21/126 btf/invalid struct, kind_flag, int member, bitfield_size = 0, wrong byte alignment:OK #21/127 btf/invalid struct, kind_flag, enum member, bitfield_size = 0, wrong byte alignment:OK #21/128 btf/128-bit int:OK #21/129 btf/struct, 128-bit int member:OK #21/130 btf/struct, 120-bit int member bitfield:OK #21/131 btf/struct, kind_flag, 128-bit int member:OK #21/132 btf/struct, kind_flag, 120-bit int member bitfield:OK #21/133 btf/struct->ptr->typedef->array->int size resolution:OK #21/134 btf/struct->ptr->typedef->multi-array->int size resolution:OK #21/135 btf/typedef/multi-arr mix size resolution:OK #21/136 btf/datasec: vlen == 0:OK #21/137 btf/float test #1, well-formed:OK #21/138 btf/float test #2, invalid vlen:OK #21/139 btf/float test #3, invalid kind_flag:OK #21/140 btf/float test #4, member does not fit:OK #21/141 btf/float test #5, member is not properly aligned:OK #21/142 btf/float test #6, invalid size:OK #21/143 btf/decl_tag test #1, struct/member, well-formed:OK #21/144 btf/decl_tag test #2, union/member, well-formed:OK #21/145 btf/decl_tag test #3, variable, well-formed:OK #21/146 btf/decl_tag test #4, func/parameter, well-formed:OK #21/147 btf/decl_tag test #5, invalid value:OK #21/148 btf/decl_tag test #6, invalid target type:OK #21/149 btf/decl_tag test #7, invalid vlen:OK #21/150 btf/decl_tag test #8, invalid kflag:OK #21/151 btf/decl_tag test #9, var, invalid component_idx:OK #21/152 btf/decl_tag test #10, struct member, invalid component_idx:OK #21/153 btf/decl_tag test #11, func parameter, invalid component_idx:OK #21/154 btf/decl_tag test #12, < -1 component_idx:OK #21/155 btf/decl_tag test #13, typedef, well-formed:OK #21/156 btf/decl_tag test #14, typedef, invalid component_idx:OK #21/157 btf/decl_tag test #15, func, invalid func proto:OK #21/158 btf/decl_tag test #16, func proto, return type:OK #21/159 btf/decl_tag test #17, func proto, argument:OK #21/160 btf/type_tag test #1:OK #21/161 btf/type_tag test #2, type tag order:OK #21/162 btf/type_tag test #3, type tag order:OK #21/163 btf/type_tag test #4, type tag order:OK #21/164 btf/type_tag test #5, type tag order:OK #21/165 btf/type_tag test #6, type tag order:OK #21/166 btf/enum64 test #1, unsigned, size 8:OK #21/167 btf/enum64 test #2, signed, size 4:OK #21/168 btf/== raw_btf_size+1:OK #21/169 btf/== raw_btf_size-3:OK #21/170 btf/Large bpf_btf_info:OK #21/171 btf/BTF ID:OK #21/172 btf/test_btf_newkv.bpf.o:OK #21/173 btf/test_btf_nokv.bpf.o:OK #21/174 btf/func_type (main func + one sub):OK #21/175 btf/func_type (Incorrect func_info_rec_size):OK #21/176 btf/func_type (Incorrect func_info_cnt):OK #21/177 btf/func_type (Incorrect bpf_func_info.insn_off):OK #21/178 btf/line_info (No subprog):OK #21/179 btf/line_info (No subprog. insn_off >= prog->len):OK #21/180 btf/line_info (Zero bpf insn code):OK #21/181 btf/line_info (No subprog. zero tailing line_info:OK #21/182 btf/line_info (No subprog. nonzero tailing line_info):OK #21/183 btf/line_info (subprog):OK #21/184 btf/line_info (subprog + func_info):OK #21/185 btf/line_info (subprog. missing 1st func line info):OK #21/186 btf/line_info (subprog. missing 2nd func line info):OK #21/187 btf/line_info (subprog. unordered insn offset):OK #21/188 btf/line_info (dead start):OK #21/189 btf/line_info (dead end):OK #21/190 btf/line_info (dead code + subprog + func_info):OK #21/191 btf/line_info (dead subprog):OK #21/192 btf/line_info (dead last subprog):OK #21/193 btf/line_info (dead subprog + dead start):OK #21/194 btf/line_info (dead subprog + dead start w/ move):OK #21/195 btf/line_info (dead end + subprog start w/ no linfo):OK #21/196 btf/dedup: unused strings filtering:OK #21/197 btf/dedup: strings deduplication:OK #21/198 btf/dedup: struct example #1:OK #21/199 btf/dedup: struct <-> fwd resolution w/ hash collision:OK #21/200 btf/dedup: void equiv check:OK #21/201 btf/dedup: all possible kinds (no duplicates):OK #21/202 btf/dedup: no int/float duplicates:OK #21/203 btf/dedup: enum fwd resolution:OK #21/204 btf/dedup: datasec and vars pass-through:OK #21/205 btf/dedup: func/func_arg/var tags:OK #21/206 btf/dedup: func/func_param tags:OK #21/207 btf/dedup: struct/struct_member tags:OK #21/208 btf/dedup: typedef tags:OK #21/209 btf/dedup: btf_type_tag #1:OK #21/210 btf/dedup: btf_type_tag #2:OK #21/211 btf/dedup: btf_type_tag #3:OK #21/212 btf/dedup: btf_type_tag #4:OK #21/213 btf/dedup: btf_type_tag #5, struct:OK #21/214 btf/dedup: enum64, standalone:OK #21/215 btf/dedup: enum64, fwd resolution:OK #21/216 btf/dedup: enum and enum64, no dedup:OK #21/217 btf/dedup: enum of different size: no dedup:OK #21/218 btf/dedup: enum fwd to enum64:OK #21/219 btf/dedup: enum64 fwd to enum:OK #21/220 btf/dedup: standalone fwd declaration struct:OK #21/221 btf/dedup: standalone fwd declaration union:OK #21/222 btf/dedup: standalone fwd declaration wrong kind:OK #21/223 btf/dedup: standalone fwd declaration name conflict:OK #21/224 btf/BTF pretty print array:OK #21/225 btf/BTF pretty print hash:OK #21/226 btf/BTF pretty print lru hash:OK #21/227 btf/BTF pretty print percpu array:OK #21/228 btf/BTF pretty print percpu hash:OK #21/229 btf/BTF pretty print lru percpu hash:OK #21/230 btf/BTF pretty print array:OK #21/231 btf/BTF pretty print array:OK #21/232 btf/BTF pretty print array:OK #21 btf:OK #22/1 btf_dedup_split/split_simple:OK #22/2 btf_dedup_split/split_struct_duped:OK #22/3 btf_dedup_split/split_fwd_resolve:OK #22/4 btf_dedup_split/split_dup_struct_in_cu:OK #22 btf_dedup_split:OK #23/1 btf_dump/btf_dump: syntax:OK #23/2 btf_dump/btf_dump: ordering:OK #23/3 btf_dump/btf_dump: padding:OK #23/4 btf_dump/btf_dump: packing:OK #23/5 btf_dump/btf_dump: bitfields:OK #23/6 btf_dump/btf_dump: multidim:OK #23/7 btf_dump/btf_dump: namespacing:OK #23/8 btf_dump/btf_dump: incremental:OK #23/9 btf_dump/btf_dump: int_data:OK #23/10 btf_dump/btf_dump: float_data:OK #23/11 btf_dump/btf_dump: char_data:OK #23/12 btf_dump/btf_dump: typedef_data:OK #23/13 btf_dump/btf_dump: enum_data:OK #23/14 btf_dump/btf_dump: struct_data:OK #23/15 btf_dump/btf_dump: var_data:OK #23/16 btf_dump/btf_dump: datasec_data:OK #23 btf_dump:OK #24 btf_endian:OK #25/1 btf_map_in_map/lookup_update:OK #25/2 btf_map_in_map/diff_size:OK #25 btf_map_in_map:OK #26 btf_module:OK #27/1 btf_skc_cls_ingress/conn:OK #27/2 btf_skc_cls_ingress/syncookie:OK #27 btf_skc_cls_ingress:OK #28 btf_split:OK #29/1 btf_tag/btf_decl_tag:OK #29/2 btf_tag/btf_type_tag:OK #29/3 btf_tag/btf_type_tag_user_mod1:SKIP #29/4 btf_tag/btf_type_tag_user_mod2:SKIP #29/5 btf_tag/btf_type_tag_sys_user_vmlinux:SKIP #29/6 btf_tag/btf_type_tag_percpu_mod1:SKIP #29/7 btf_tag/btf_type_tag_percpu_mod2:SKIP #29/8 btf_tag/btf_type_tag_percpu_vmlinux_load:SKIP #29/9 btf_tag/btf_type_tag_percpu_vmlinux_helper:SKIP #29 btf_tag:OK (SKIP: 7/9) #30/1 btf_write/btf_add:OK #30/2 btf_write/btf_add_btf:OK #30 btf_write:OK #54/1 core_reloc_btfgen/kernel:SKIP #54/2 core_reloc_btfgen/module_probed:SKIP #54/3 core_reloc_btfgen/module_direct:SKIP #54/4 core_reloc_btfgen/flavors:OK #54/5 core_reloc_btfgen/flavors__err_wrong_name:OK #54/6 core_reloc_btfgen/nesting:OK #54/7 core_reloc_btfgen/nesting___anon_embed:OK #54/8 core_reloc_btfgen/nesting___struct_union_mixup:OK #54/9 core_reloc_btfgen/nesting___extra_nesting:OK #54/10 core_reloc_btfgen/nesting___dup_compat_types:OK #54/11 core_reloc_btfgen/nesting___err_missing_field:SKIP #54/12 core_reloc_btfgen/nesting___err_array_field:SKIP #54/13 core_reloc_btfgen/nesting___err_missing_container:SKIP #54/14 core_reloc_btfgen/nesting___err_nonstruct_container:SKIP #54/15 core_reloc_btfgen/nesting___err_array_container:SKIP #54/16 core_reloc_btfgen/nesting___err_dup_incompat_types:SKIP #54/17 core_reloc_btfgen/nesting___err_partial_match_dups:SKIP #54/18 core_reloc_btfgen/nesting___err_too_deep:SKIP #54/19 core_reloc_btfgen/arrays:OK #54/20 core_reloc_btfgen/arrays___diff_arr_dim:OK #54/21 core_reloc_btfgen/arrays___diff_arr_val_sz:OK #54/22 core_reloc_btfgen/arrays___equiv_zero_sz_arr:OK #54/23 core_reloc_btfgen/arrays___fixed_arr:OK #54/24 core_reloc_btfgen/arrays___err_too_small:OK #54/25 core_reloc_btfgen/arrays___err_too_shallow:OK #54/26 core_reloc_btfgen/arrays___err_non_array:OK #54/27 core_reloc_btfgen/arrays___err_wrong_val_type:OK #54/28 core_reloc_btfgen/arrays___err_bad_zero_sz_arr:OK #54/29 core_reloc_btfgen/primitives:OK #54/30 core_reloc_btfgen/primitives___diff_enum_def:OK #54/31 core_reloc_btfgen/primitives___diff_func_proto:OK #54/32 core_reloc_btfgen/primitives___diff_ptr_type:OK #54/33 core_reloc_btfgen/primitives___err_non_enum:OK #54/34 core_reloc_btfgen/primitives___err_non_int:OK #54/35 core_reloc_btfgen/primitives___err_non_ptr:OK #54/36 core_reloc_btfgen/mods:OK #54/37 core_reloc_btfgen/mods___mod_swap:OK #54/38 core_reloc_btfgen/mods___typedefs:OK #54/39 core_reloc_btfgen/ptr_as_arr:OK #54/40 core_reloc_btfgen/ptr_as_arr___diff_sz:OK #54/41 core_reloc_btfgen/ints:OK #54/42 core_reloc_btfgen/ints___bool:OK #54/43 core_reloc_btfgen/ints___reverse_sign:OK #54/44 core_reloc_btfgen/misc:OK #54/45 core_reloc_btfgen/existence:OK #54/46 core_reloc_btfgen/existence___minimal:OK #54/47 core_reloc_btfgen/existence___wrong_field_defs:OK #54/48 core_reloc_btfgen/probed:bitfields:OK #54/49 core_reloc_btfgen/direct:bitfields:OK #54/50 core_reloc_btfgen/probed:bitfields___bit_sz_change:OK #54/51 core_reloc_btfgen/direct:bitfields___bit_sz_change:OK #54/52 core_reloc_btfgen/probed:bitfields___bitfield_vs_int:OK #54/53 core_reloc_btfgen/direct:bitfields___bitfield_vs_int:OK #54/54 core_reloc_btfgen/probed:bitfields___just_big_enough:OK #54/55 core_reloc_btfgen/direct:bitfields___just_big_enough:OK #54/56 core_reloc_btfgen/probed:bitfields___err_too_big_bitfield:SKIP #54/57 core_reloc_btfgen/direct:bitfields___err_too_big_bitfield:SKIP #54/58 core_reloc_btfgen/size:OK #54/59 core_reloc_btfgen/size___diff_sz:OK #54/60 core_reloc_btfgen/size___diff_offs:OK #54/61 core_reloc_btfgen/size___err_ambiguous:SKIP #54/62 core_reloc_btfgen/type_based:OK #54/63 core_reloc_btfgen/type_based___all_missing:OK #54/64 core_reloc_btfgen/type_based___diff:OK #54/65 core_reloc_btfgen/type_based___diff_sz:OK #54/66 core_reloc_btfgen/type_based___incompat:OK #54/67 core_reloc_btfgen/type_based___fn_wrong_args:OK #54/68 core_reloc_btfgen/type_id:OK #54/69 core_reloc_btfgen/type_id___missing_targets:OK #54/70 core_reloc_btfgen/enumval:OK #54/71 core_reloc_btfgen/enumval___diff:OK #54/72 core_reloc_btfgen/enumval___val3_missing:OK #54/73 core_reloc_btfgen/enumval___err_missing:OK #54/74 core_reloc_btfgen/enum64val:OK #54/75 core_reloc_btfgen/enum64val___diff:OK #54/76 core_reloc_btfgen/enum64val___val3_missing:OK #54/77 core_reloc_btfgen/enum64val___err_missing:OK #54 core_reloc_btfgen:OK (SKIP: 14/77) #98/1 ksyms_btf/basic:OK #98/2 ksyms_btf/null_check:OK #98/3 ksyms_btf/weak_ksyms:OK #98/4 ksyms_btf/weak_ksyms_lskel:OK #98/5 ksyms_btf/write_check1:OK #98/6 ksyms_btf/write_check2:OK #98 ksyms_btf:OK #155 resolve_btfids:OK #173 snprintf_btf:OK Summary: 14/329 PASSED, 21 SKIPPED, 0 FAILED :: [ PASS ] :: Command './test_progs-no_alu32 -t btf' (Expected 0, got 0, score 19) === Dmesg result === :: [ PASS ] :: Test '21..279 selftests: bpf_test_progs:btf [PASS]'