[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <282976f0-772a-44cc-9d3d-b07f42a4b2cc@gmail.com>
Date: Fri, 14 Feb 2025 22:30:26 +0800
From: Tao Chen <chen.dylane@...il.com>
To: ast@...nel.org, daniel@...earbox.net, andrii@...nel.org,
eddyz87@...il.com, haoluo@...gle.com, jolsa@...nel.org, qmo@...nel.org
Cc: bpf@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] libbpf: Wrap libbpf API direct err with libbpf_err
在 2025/2/14 22:17, Tao Chen 写道:
> Just wrap the direct err with libbpf_err, keep consistency
> with other APIs.
>
> Signed-off-by: Tao Chen <chen.dylane@...il.com>
> ---
> tools/lib/bpf/libbpf.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
> index 194809da5172..6f2f3072f5a2 100644
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@ -9145,12 +9145,12 @@ int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts *opts)
> struct bpf_gen *gen;
>
> if (!opts)
> - return -EFAULT;
> + return libbpf_err(-EFAULT);
> if (!OPTS_VALID(opts, gen_loader_opts))
> - return -EINVAL;
> + return libbpf_err(-EINVAL);
> gen = calloc(sizeof(*gen), 1);
> if (!gen)
> - return -ENOMEM;
> + return libbpf_err(-ENOMEM);
> gen->opts = opts;
> gen->swapped_endian = !is_native_endianness(obj);
> obj->gen_loader = gen;
> @@ -9262,13 +9262,13 @@ int bpf_program__set_insns(struct bpf_program *prog,
> struct bpf_insn *insns;
>
> if (prog->obj->loaded)
> - return -EBUSY;
> + return libbpf_err(-EBUSY);
>
> insns = libbpf_reallocarray(prog->insns, new_insn_cnt, sizeof(*insns));
> /* NULL is a valid return from reallocarray if the new count is zero */
> if (!insns && new_insn_cnt) {
> pr_warn("prog '%s': failed to realloc prog code\n", prog->name);
> - return -ENOMEM;
> + return libbpf_err(-ENOMEM);
> }
> memcpy(insns, new_insns, new_insn_cnt * sizeof(*insns));
>
> @@ -9379,11 +9379,11 @@ const char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_siz
> int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf, size_t log_size)
> {
> if (log_size && !log_buf)
> - return -EINVAL;
> + return libbpf_err(-EINVAL);
> if (prog->log_size > UINT_MAX)
> - return -EINVAL;
> + return libbpf_err(-EINVAL);
> if (prog->obj->loaded)
> - return -EBUSY;
> + return libbpf_err(-EBUSY);
>
> prog->log_buf = log_buf;
> prog->log_size = log_size;
> @@ -13070,17 +13070,17 @@ int bpf_link__update_map(struct bpf_link *link, const struct bpf_map *map)
> int err;
>
> if (!bpf_map__is_struct_ops(map))
> - return -EINVAL;
> + return libbpf_err(-EINVAL);
>
> if (map->fd < 0) {
> pr_warn("map '%s': can't use BPF map without FD (was it created?)\n", map->name);
> - return -EINVAL;
> + return libbpf_err(-EINVAL);
> }
>
> st_ops_link = container_of(link, struct bpf_link_struct_ops, link);
> /* Ensure the type of a link is correct */
> if (st_ops_link->map_fd < 0)
> - return -EINVAL;
> + return libbpf_err(-EINVAL);
>
> err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0);
> /* It can be EBUSY if the map has been used to create or
Forgive my carelessness. This patch was developed based on bpf-next. You
can ignore it. I've resent it.
--
Best Regards
Dylane Chen
Powered by blists - more mailing lists