Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/bpf: Switch to new btf__type_cnt/btf__raw_data APIs

Replace the calls to btf__get_nr_types/btf__get_raw_data in
selftests with new APIs btf__type_cnt/btf__raw_data. The old
APIs will be deprecated in libbpf v0.7+.

Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211022130623.1548429-6-hengqi.chen@gmail.com

authored by

Hengqi Chen and committed by
Andrii Nakryiko
487ef148 58fc155b

+22 -22
+2 -2
tools/testing/selftests/bpf/btf_helpers.c
··· 215 215 int i; 216 216 bool ok = true; 217 217 218 - ASSERT_EQ(btf__get_nr_types(btf), nr_types, "btf_nr_types"); 218 + ASSERT_EQ(btf__type_cnt(btf) - 1, nr_types, "btf_nr_types"); 219 219 220 220 for (i = 1; i <= nr_types; i++) { 221 221 if (!ASSERT_STREQ(btf_type_raw_dump(btf, i), exp_types[i - 1], "raw_dump")) ··· 254 254 return NULL; 255 255 } 256 256 257 - for (i = 1; i <= btf__get_nr_types(btf); i++) { 257 + for (i = 1; i < btf__type_cnt(btf); i++) { 258 258 err = btf_dump__dump_type(d, i); 259 259 if (err) { 260 260 fprintf(stderr, "Failed to dump type [%d]: %d\n", i, err);
+5 -5
tools/testing/selftests/bpf/prog_tests/btf.c
··· 7274 7274 goto done; 7275 7275 } 7276 7276 7277 - test_btf_data = btf__get_raw_data(test_btf, &test_btf_size); 7278 - expect_btf_data = btf__get_raw_data(expect_btf, &expect_btf_size); 7277 + test_btf_data = btf__raw_data(test_btf, &test_btf_size); 7278 + expect_btf_data = btf__raw_data(expect_btf, &expect_btf_size); 7279 7279 if (CHECK(test_btf_size != expect_btf_size, 7280 7280 "test_btf_size:%u != expect_btf_size:%u", 7281 7281 test_btf_size, expect_btf_size)) { ··· 7329 7329 expect_str_cur += expect_len + 1; 7330 7330 } 7331 7331 7332 - test_nr_types = btf__get_nr_types(test_btf); 7333 - expect_nr_types = btf__get_nr_types(expect_btf); 7332 + test_nr_types = btf__type_cnt(test_btf); 7333 + expect_nr_types = btf__type_cnt(expect_btf); 7334 7334 if (CHECK(test_nr_types != expect_nr_types, 7335 7335 "test_nr_types:%u != expect_nr_types:%u", 7336 7336 test_nr_types, expect_nr_types)) { ··· 7338 7338 goto done; 7339 7339 } 7340 7340 7341 - for (i = 1; i <= test_nr_types; i++) { 7341 + for (i = 1; i < test_nr_types; i++) { 7342 7342 const struct btf_type *test_type, *expect_type; 7343 7343 int test_size, expect_size; 7344 7344
+4 -4
tools/testing/selftests/bpf/prog_tests/btf_dump.c
··· 27 27 static int btf_dump_all_types(const struct btf *btf, 28 28 const struct btf_dump_opts *opts) 29 29 { 30 - size_t type_cnt = btf__get_nr_types(btf); 30 + size_t type_cnt = btf__type_cnt(btf); 31 31 struct btf_dump *d; 32 32 int err = 0, id; 33 33 ··· 36 36 if (err) 37 37 return err; 38 38 39 - for (id = 1; id <= type_cnt; id++) { 39 + for (id = 1; id < type_cnt; id++) { 40 40 err = btf_dump__dump_type(d, id); 41 41 if (err) 42 42 goto done; ··· 171 171 err = btf__add_field(btf, "x", 2, 0, 0); 172 172 ASSERT_OK(err, "field_ok"); 173 173 174 - for (i = 1; i <= btf__get_nr_types(btf); i++) { 174 + for (i = 1; i < btf__type_cnt(btf); i++) { 175 175 err = btf_dump__dump_type(d, i); 176 176 ASSERT_OK(err, "dump_type_ok"); 177 177 } ··· 210 210 err = btf__add_field(btf, "s", 3, 32, 0); 211 211 ASSERT_OK(err, "field_ok"); 212 212 213 - for (i = 1; i <= btf__get_nr_types(btf); i++) { 213 + for (i = 1; i < btf__type_cnt(btf); i++) { 214 214 err = btf_dump__dump_type(d, i); 215 215 ASSERT_OK(err, "dump_type_ok"); 216 216 }
+6 -6
tools/testing/selftests/bpf/prog_tests/btf_endian.c
··· 32 32 ASSERT_EQ(btf__endianness(btf), swap_endian, "endian"); 33 33 34 34 /* Get raw BTF data in non-native endianness... */ 35 - raw_data = btf__get_raw_data(btf, &raw_sz); 35 + raw_data = btf__raw_data(btf, &raw_sz); 36 36 if (!ASSERT_OK_PTR(raw_data, "raw_data_inverted")) 37 37 goto err_out; 38 38 ··· 42 42 goto err_out; 43 43 44 44 ASSERT_EQ(btf__endianness(swap_btf), swap_endian, "endian"); 45 - ASSERT_EQ(btf__get_nr_types(swap_btf), btf__get_nr_types(btf), "nr_types"); 45 + ASSERT_EQ(btf__type_cnt(swap_btf), btf__type_cnt(btf), "nr_types"); 46 46 47 - swap_raw_data = btf__get_raw_data(swap_btf, &swap_raw_sz); 47 + swap_raw_data = btf__raw_data(swap_btf, &swap_raw_sz); 48 48 if (!ASSERT_OK_PTR(swap_raw_data, "swap_raw_data")) 49 49 goto err_out; 50 50 ··· 58 58 59 59 /* swap it back to native endianness */ 60 60 btf__set_endianness(swap_btf, endian); 61 - swap_raw_data = btf__get_raw_data(swap_btf, &swap_raw_sz); 61 + swap_raw_data = btf__raw_data(swap_btf, &swap_raw_sz); 62 62 if (!ASSERT_OK_PTR(swap_raw_data, "swap_raw_data")) 63 63 goto err_out; 64 64 ··· 75 75 swap_btf = NULL; 76 76 77 77 btf__set_endianness(btf, swap_endian); 78 - raw_data = btf__get_raw_data(btf, &raw_sz); 78 + raw_data = btf__raw_data(btf, &raw_sz); 79 79 if (!ASSERT_OK_PTR(raw_data, "raw_data_inverted")) 80 80 goto err_out; 81 81 ··· 85 85 goto err_out; 86 86 87 87 ASSERT_EQ(btf__endianness(swap_btf), swap_endian, "endian"); 88 - ASSERT_EQ(btf__get_nr_types(swap_btf), btf__get_nr_types(btf), "nr_types"); 88 + ASSERT_EQ(btf__type_cnt(swap_btf), btf__type_cnt(btf), "nr_types"); 89 89 90 90 /* the type should appear as if it was stored in native endianness */ 91 91 t = btf__type_by_id(swap_btf, var_id);
+1 -1
tools/testing/selftests/bpf/prog_tests/btf_split.c
··· 72 72 d = btf_dump__new(btf2, NULL, &opts, btf_dump_printf); 73 73 if (!ASSERT_OK_PTR(d, "btf_dump__new")) 74 74 goto cleanup; 75 - for (i = 1; i <= btf__get_nr_types(btf2); i++) { 75 + for (i = 1; i < btf__type_cnt(btf2); i++) { 76 76 err = btf_dump__dump_type(d, i); 77 77 ASSERT_OK(err, "dump_type_ok"); 78 78 }
+1 -1
tools/testing/selftests/bpf/prog_tests/core_autosize.c
··· 112 112 if (!ASSERT_OK_PTR(f, "btf_fdopen")) 113 113 goto cleanup; 114 114 115 - raw_data = btf__get_raw_data(btf, &raw_sz); 115 + raw_data = btf__raw_data(btf, &raw_sz); 116 116 if (!ASSERT_OK_PTR(raw_data, "raw_data")) 117 117 goto cleanup; 118 118 written = fwrite(raw_data, 1, raw_sz, f);
+1 -1
tools/testing/selftests/bpf/prog_tests/core_reloc.c
··· 381 381 exp->local_anon_void_ptr = -1; 382 382 exp->local_anon_arr = -1; 383 383 384 - for (i = 1; i <= btf__get_nr_types(local_btf); i++) 384 + for (i = 1; i < btf__type_cnt(local_btf); i++) 385 385 { 386 386 t = btf__type_by_id(local_btf, i); 387 387 /* we are interested only in anonymous types */
+2 -2
tools/testing/selftests/bpf/prog_tests/resolve_btfids.c
··· 106 106 "Failed to load BTF from btf_data.o\n")) 107 107 return -1; 108 108 109 - nr = btf__get_nr_types(btf); 109 + nr = btf__type_cnt(btf); 110 110 111 - for (type_id = 1; type_id <= nr; type_id++) { 111 + for (type_id = 1; type_id < nr; type_id++) { 112 112 if (__resolve_symbol(btf, type_id)) 113 113 break; 114 114 }