bpftool: Switch bpf_object__load_xattr() to bpf_object__load()
[linux-2.6-microblaze.git] / tools / bpf / bpftool / struct_ops.c
index ab2d229..2f693b0 100644 (file)
@@ -32,7 +32,7 @@ static const struct btf *get_btf_vmlinux(void)
                return btf_vmlinux;
 
        btf_vmlinux = libbpf_find_kernel_btf();
-       if (IS_ERR(btf_vmlinux))
+       if (libbpf_get_error(btf_vmlinux))
                p_err("struct_ops requires kernel CONFIG_DEBUG_INFO_BTF=y");
 
        return btf_vmlinux;
@@ -45,7 +45,7 @@ static const char *get_kern_struct_ops_name(const struct bpf_map_info *info)
        const char *st_ops_name;
 
        kern_btf = get_btf_vmlinux();
-       if (IS_ERR(kern_btf))
+       if (libbpf_get_error(kern_btf))
                return "<btf_vmlinux_not_found>";
 
        t = btf__type_by_id(kern_btf, info->btf_vmlinux_value_type_id);
@@ -63,7 +63,7 @@ static __s32 get_map_info_type_id(void)
                return map_info_type_id;
 
        kern_btf = get_btf_vmlinux();
-       if (IS_ERR(kern_btf)) {
+       if (libbpf_get_error(kern_btf)) {
                map_info_type_id = PTR_ERR(kern_btf);
                return map_info_type_id;
        }
@@ -252,7 +252,7 @@ static struct res do_one_id(const char *id_str, work_func func, void *data,
        }
 
        fd = bpf_map_get_fd_by_id(id);
-       if (fd == -1) {
+       if (fd < 0) {
                p_err("can't get map by id (%lu): %s", id, strerror(errno));
                res.nr_errs++;
                return res;
@@ -415,7 +415,7 @@ static int do_dump(int argc, char **argv)
        }
 
        kern_btf = get_btf_vmlinux();
-       if (IS_ERR(kern_btf))
+       if (libbpf_get_error(kern_btf))
                return -1;
 
        if (!json_output) {
@@ -479,7 +479,7 @@ static int do_unregister(int argc, char **argv)
 
 static int do_register(int argc, char **argv)
 {
-       struct bpf_object_load_attr load_attr = {};
+       LIBBPF_OPTS(bpf_object_open_opts, open_opts);
        const struct bpf_map_def *def;
        struct bpf_map_info info = {};
        __u32 info_len = sizeof(info);
@@ -494,18 +494,17 @@ static int do_register(int argc, char **argv)
 
        file = GET_ARG();
 
-       obj = bpf_object__open(file);
-       if (IS_ERR_OR_NULL(obj))
+       if (verifier_logs)
+               /* log_level1 + log_level2 + stats, but not stable UAPI */
+               open_opts.kernel_log_level = 1 + 2 + 4;
+
+       obj = bpf_object__open_file(file, &open_opts);
+       if (libbpf_get_error(obj))
                return -1;
 
        set_max_rlimit();
 
-       load_attr.obj = obj;
-       if (verifier_logs)
-               /* log_level1 + log_level2 + stats, but not stable UAPI */
-               load_attr.log_level = 1 + 2 + 4;
-
-       if (bpf_object__load_xattr(&load_attr)) {
+       if (bpf_object__load(obj)) {
                bpf_object__close(obj);
                return -1;
        }
@@ -516,7 +515,7 @@ static int do_register(int argc, char **argv)
                        continue;
 
                link = bpf_map__attach_struct_ops(map);
-               if (IS_ERR(link)) {
+               if (libbpf_get_error(link)) {
                        p_err("can't register struct_ops %s: %s",
                              bpf_map__name(map),
                              strerror(-PTR_ERR(link)));
@@ -596,7 +595,7 @@ int do_struct_ops(int argc, char **argv)
 
        err = cmd_select(cmds, argc, argv, do_help);
 
-       if (!IS_ERR(btf_vmlinux))
+       if (!libbpf_get_error(btf_vmlinux))
                btf__free(btf_vmlinux);
 
        return err;