mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
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
This commit is contained in:
parent
55a9ed0e16
commit
629dfc660c
@ -1350,9 +1350,9 @@ struct btf *btf_get_from_fd(int btf_fd, struct btf *base_btf)
|
||||
void *ptr;
|
||||
int err;
|
||||
|
||||
/* we won't know btf_size until we call bpf_obj_get_info_by_fd(). so
|
||||
/* we won't know btf_size until we call bpf_btf_get_info_by_fd(). so
|
||||
* let's start with a sane default - 4KiB here - and resize it only if
|
||||
* bpf_obj_get_info_by_fd() needs a bigger buffer.
|
||||
* bpf_btf_get_info_by_fd() needs a bigger buffer.
|
||||
*/
|
||||
last_size = 4096;
|
||||
ptr = malloc(last_size);
|
||||
@ -1362,7 +1362,7 @@ struct btf *btf_get_from_fd(int btf_fd, struct btf *base_btf)
|
||||
memset(&btf_info, 0, sizeof(btf_info));
|
||||
btf_info.btf = ptr_to_u64(ptr);
|
||||
btf_info.btf_size = last_size;
|
||||
err = bpf_obj_get_info_by_fd(btf_fd, &btf_info, &len);
|
||||
err = bpf_btf_get_info_by_fd(btf_fd, &btf_info, &len);
|
||||
|
||||
if (!err && btf_info.btf_size > last_size) {
|
||||
void *temp_ptr;
|
||||
@ -1380,7 +1380,7 @@ struct btf *btf_get_from_fd(int btf_fd, struct btf *base_btf)
|
||||
btf_info.btf = ptr_to_u64(ptr);
|
||||
btf_info.btf_size = last_size;
|
||||
|
||||
err = bpf_obj_get_info_by_fd(btf_fd, &btf_info, &len);
|
||||
err = bpf_btf_get_info_by_fd(btf_fd, &btf_info, &len);
|
||||
}
|
||||
|
||||
if (err || btf_info.btf_size > last_size) {
|
||||
|
@ -4345,7 +4345,7 @@ int bpf_map__reuse_fd(struct bpf_map *map, int fd)
|
||||
char *new_name;
|
||||
|
||||
memset(&info, 0, len);
|
||||
err = bpf_obj_get_info_by_fd(fd, &info, &len);
|
||||
err = bpf_map_get_info_by_fd(fd, &info, &len);
|
||||
if (err && errno == EINVAL)
|
||||
err = bpf_get_map_info_from_fdinfo(fd, &info);
|
||||
if (err)
|
||||
@ -4729,7 +4729,7 @@ static int probe_module_btf(void)
|
||||
* kernel's module BTF support coincides with support for
|
||||
* name/name_len fields in struct bpf_btf_info.
|
||||
*/
|
||||
err = bpf_obj_get_info_by_fd(fd, &info, &len);
|
||||
err = bpf_btf_get_info_by_fd(fd, &info, &len);
|
||||
close(fd);
|
||||
return !err;
|
||||
}
|
||||
@ -4892,7 +4892,7 @@ static bool map_is_reuse_compat(const struct bpf_map *map, int map_fd)
|
||||
int err;
|
||||
|
||||
memset(&map_info, 0, map_info_len);
|
||||
err = bpf_obj_get_info_by_fd(map_fd, &map_info, &map_info_len);
|
||||
err = bpf_map_get_info_by_fd(map_fd, &map_info, &map_info_len);
|
||||
if (err && errno == EINVAL)
|
||||
err = bpf_get_map_info_from_fdinfo(map_fd, &map_info);
|
||||
if (err) {
|
||||
@ -5437,7 +5437,7 @@ static int load_module_btfs(struct bpf_object *obj)
|
||||
info.name = ptr_to_u64(name);
|
||||
info.name_len = sizeof(name);
|
||||
|
||||
err = bpf_obj_get_info_by_fd(fd, &info, &len);
|
||||
err = bpf_btf_get_info_by_fd(fd, &info, &len);
|
||||
if (err) {
|
||||
err = -errno;
|
||||
pr_warn("failed to get BTF object #%d info: %d\n", id, err);
|
||||
@ -9030,9 +9030,9 @@ static int libbpf_find_prog_btf_id(const char *name, __u32 attach_prog_fd)
|
||||
int err;
|
||||
|
||||
memset(&info, 0, info_len);
|
||||
err = bpf_obj_get_info_by_fd(attach_prog_fd, &info, &info_len);
|
||||
err = bpf_prog_get_info_by_fd(attach_prog_fd, &info, &info_len);
|
||||
if (err) {
|
||||
pr_warn("failed bpf_obj_get_info_by_fd for FD %d: %d\n",
|
||||
pr_warn("failed bpf_prog_get_info_by_fd for FD %d: %d\n",
|
||||
attach_prog_fd, err);
|
||||
return err;
|
||||
}
|
||||
@ -11741,7 +11741,7 @@ static struct perf_buffer *__perf_buffer__new(int map_fd, size_t page_cnt,
|
||||
/* best-effort sanity checks */
|
||||
memset(&map, 0, sizeof(map));
|
||||
map_info_len = sizeof(map);
|
||||
err = bpf_obj_get_info_by_fd(map_fd, &map, &map_info_len);
|
||||
err = bpf_map_get_info_by_fd(map_fd, &map, &map_info_len);
|
||||
if (err) {
|
||||
err = -errno;
|
||||
/* if BPF_OBJ_GET_INFO_BY_FD is supported, will return
|
||||
|
@ -689,7 +689,7 @@ static int tc_add_fd_and_name(struct libbpf_nla_req *req, int fd)
|
||||
int len, ret;
|
||||
|
||||
memset(&info, 0, info_len);
|
||||
ret = bpf_obj_get_info_by_fd(fd, &info, &info_len);
|
||||
ret = bpf_prog_get_info_by_fd(fd, &info, &info_len);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
@ -83,7 +83,7 @@ int ring_buffer__add(struct ring_buffer *rb, int map_fd,
|
||||
|
||||
memset(&info, 0, sizeof(info));
|
||||
|
||||
err = bpf_obj_get_info_by_fd(map_fd, &info, &len);
|
||||
err = bpf_map_get_info_by_fd(map_fd, &info, &len);
|
||||
if (err) {
|
||||
err = -errno;
|
||||
pr_warn("ringbuf: failed to get map info for fd=%d: %d\n",
|
||||
@ -359,7 +359,7 @@ static int user_ringbuf_map(struct user_ring_buffer *rb, int map_fd)
|
||||
|
||||
memset(&info, 0, sizeof(info));
|
||||
|
||||
err = bpf_obj_get_info_by_fd(map_fd, &info, &len);
|
||||
err = bpf_map_get_info_by_fd(map_fd, &info, &len);
|
||||
if (err) {
|
||||
err = -errno;
|
||||
pr_warn("user ringbuf: failed to get map info for fd=%d: %d\n", map_fd, err);
|
||||
|
Loading…
x
Reference in New Issue
Block a user