Re: [PATCH] bpf: bpftool: Setting error code in do_loader()
From: Quentin Monnet
Date: Mon Mar 10 2025 - 09:28:29 EST
2025-03-10 14:25 UTC+0900 ~ nswon <swnam0729@xxxxxxxxx>
> missing error code in do_loader()
> bpf_object__open_file() failed, but return 0
> This means the command's exit status code was successful, so make sure to return the correct error code.
>
> Link: https://lore.kernel.org/bpf/d3b5b4b4-19bb-4619-b4dd-86c958c4a367@stanley.mountain/t/#u
> Closes: https://github.com/libbpf/bpftool/issues/156
> Signed-off-by: nswon <swnam0729@xxxxxxxxx>
Thanks for this!
Others may correct me if I'm wrong, but I think you should sign off with
your full name here (although it doesn't strictly have to be a full
name, the patch submission docs mention in should be a "known identity"
so I'm not sure whether a GitHub handle, for example, is acceptable).
> ---
> tools/bpf/bpftool/prog.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
> index e71be67f1d86..641802e308f4 100644
> --- a/tools/bpf/bpftool/prog.c
> +++ b/tools/bpf/bpftool/prog.c
> @@ -1928,6 +1928,7 @@ static int do_loader(int argc, char **argv)
>
> obj = bpf_object__open_file(file, &open_opts);
> if (!obj) {
> + err = libbpf_get_error(obj);
This is the correct way to retrieve the error code, but given that
bpftool does nothing with this error code, could we instead simply
return -1 to remain consistent with the other locations where we call
bpf_object__open_file() in the tool, please?
Thanks,
Quentin