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

libbpf: Use bpf_{btf,link,map,prog}_get_info_by_fd()

Use the new type-safe wrappers around bpf_obj_get_info_by_fd().

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20230214231221.249277-3-iii@linux.ibm.com

authored by

Ilya Leoshkevich and committed by
Andrii Nakryiko
629dfc66 55a9ed0e

+14 -14
+4 -4
tools/lib/bpf/btf.c
··· 1350 1350 void *ptr; 1351 1351 int err; 1352 1352 1353 - /* we won't know btf_size until we call bpf_obj_get_info_by_fd(). so 1353 + /* we won't know btf_size until we call bpf_btf_get_info_by_fd(). so 1354 1354 * let's start with a sane default - 4KiB here - and resize it only if 1355 - * bpf_obj_get_info_by_fd() needs a bigger buffer. 1355 + * bpf_btf_get_info_by_fd() needs a bigger buffer. 1356 1356 */ 1357 1357 last_size = 4096; 1358 1358 ptr = malloc(last_size); ··· 1362 1362 memset(&btf_info, 0, sizeof(btf_info)); 1363 1363 btf_info.btf = ptr_to_u64(ptr); 1364 1364 btf_info.btf_size = last_size; 1365 - err = bpf_obj_get_info_by_fd(btf_fd, &btf_info, &len); 1365 + err = bpf_btf_get_info_by_fd(btf_fd, &btf_info, &len); 1366 1366 1367 1367 if (!err && btf_info.btf_size > last_size) { 1368 1368 void *temp_ptr; ··· 1380 1380 btf_info.btf = ptr_to_u64(ptr); 1381 1381 btf_info.btf_size = last_size; 1382 1382 1383 - err = bpf_obj_get_info_by_fd(btf_fd, &btf_info, &len); 1383 + err = bpf_btf_get_info_by_fd(btf_fd, &btf_info, &len); 1384 1384 } 1385 1385 1386 1386 if (err || btf_info.btf_size > last_size) {
+7 -7
tools/lib/bpf/libbpf.c
··· 4345 4345 char *new_name; 4346 4346 4347 4347 memset(&info, 0, len); 4348 - err = bpf_obj_get_info_by_fd(fd, &info, &len); 4348 + err = bpf_map_get_info_by_fd(fd, &info, &len); 4349 4349 if (err && errno == EINVAL) 4350 4350 err = bpf_get_map_info_from_fdinfo(fd, &info); 4351 4351 if (err) ··· 4729 4729 * kernel's module BTF support coincides with support for 4730 4730 * name/name_len fields in struct bpf_btf_info. 4731 4731 */ 4732 - err = bpf_obj_get_info_by_fd(fd, &info, &len); 4732 + err = bpf_btf_get_info_by_fd(fd, &info, &len); 4733 4733 close(fd); 4734 4734 return !err; 4735 4735 } ··· 4892 4892 int err; 4893 4893 4894 4894 memset(&map_info, 0, map_info_len); 4895 - err = bpf_obj_get_info_by_fd(map_fd, &map_info, &map_info_len); 4895 + err = bpf_map_get_info_by_fd(map_fd, &map_info, &map_info_len); 4896 4896 if (err && errno == EINVAL) 4897 4897 err = bpf_get_map_info_from_fdinfo(map_fd, &map_info); 4898 4898 if (err) { ··· 5437 5437 info.name = ptr_to_u64(name); 5438 5438 info.name_len = sizeof(name); 5439 5439 5440 - err = bpf_obj_get_info_by_fd(fd, &info, &len); 5440 + err = bpf_btf_get_info_by_fd(fd, &info, &len); 5441 5441 if (err) { 5442 5442 err = -errno; 5443 5443 pr_warn("failed to get BTF object #%d info: %d\n", id, err); ··· 9030 9030 int err; 9031 9031 9032 9032 memset(&info, 0, info_len); 9033 - err = bpf_obj_get_info_by_fd(attach_prog_fd, &info, &info_len); 9033 + err = bpf_prog_get_info_by_fd(attach_prog_fd, &info, &info_len); 9034 9034 if (err) { 9035 - pr_warn("failed bpf_obj_get_info_by_fd for FD %d: %d\n", 9035 + pr_warn("failed bpf_prog_get_info_by_fd for FD %d: %d\n", 9036 9036 attach_prog_fd, err); 9037 9037 return err; 9038 9038 } ··· 11741 11741 /* best-effort sanity checks */ 11742 11742 memset(&map, 0, sizeof(map)); 11743 11743 map_info_len = sizeof(map); 11744 - err = bpf_obj_get_info_by_fd(map_fd, &map, &map_info_len); 11744 + err = bpf_map_get_info_by_fd(map_fd, &map, &map_info_len); 11745 11745 if (err) { 11746 11746 err = -errno; 11747 11747 /* if BPF_OBJ_GET_INFO_BY_FD is supported, will return
+1 -1
tools/lib/bpf/netlink.c
··· 689 689 int len, ret; 690 690 691 691 memset(&info, 0, info_len); 692 - ret = bpf_obj_get_info_by_fd(fd, &info, &info_len); 692 + ret = bpf_prog_get_info_by_fd(fd, &info, &info_len); 693 693 if (ret < 0) 694 694 return ret; 695 695
+2 -2
tools/lib/bpf/ringbuf.c
··· 83 83 84 84 memset(&info, 0, sizeof(info)); 85 85 86 - err = bpf_obj_get_info_by_fd(map_fd, &info, &len); 86 + err = bpf_map_get_info_by_fd(map_fd, &info, &len); 87 87 if (err) { 88 88 err = -errno; 89 89 pr_warn("ringbuf: failed to get map info for fd=%d: %d\n", ··· 359 359 360 360 memset(&info, 0, sizeof(info)); 361 361 362 - err = bpf_obj_get_info_by_fd(map_fd, &info, &len); 362 + err = bpf_map_get_info_by_fd(map_fd, &info, &len); 363 363 if (err) { 364 364 err = -errno; 365 365 pr_warn("user ringbuf: failed to get map info for fd=%d: %d\n", map_fd, err);