]> www.infradead.org Git - users/hch/misc.git/commitdiff
bpf: bpftool: Setting error code in do_loader()
authorSewon Nam <swnam0729@gmail.com>
Tue, 11 Mar 2025 03:12:37 +0000 (12:12 +0900)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 15 Mar 2025 18:48:58 +0000 (11:48 -0700)
We are missing setting error code in do_loader() when
bpf_object__open_file() fails. This means the command's exit status code
will be successful, even though the operation failed. So make sure to
return the correct error code. To maintain consistency with other
locations where bpf_object__open_file() is called, return -1.

  [0] Closes: https://github.com/libbpf/bpftool/issues/156

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Sewon Nam <swnam0729@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Quentin Monnet <qmo@kernel.org>
Reviewed-by: Quentin Monnet <qmo@kernel.org>
Link: https://lore.kernel.org/bpf/d3b5b4b4-19bb-4619-b4dd-86c958c4a367@stanley.mountain/t/#u
Link: https://lore.kernel.org/bpf/20250311031238.14865-1-swnam0729@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/prog.c

index e71be67f1d86582e2224da7ba0030379f53110d8..52ffb74ae4e89aff52cb3d7007c64d96e99770b1 100644 (file)
@@ -1928,6 +1928,7 @@ static int do_loader(int argc, char **argv)
 
        obj = bpf_object__open_file(file, &open_opts);
        if (!obj) {
+               err = -1;
                p_err("failed to open object file");
                goto err_close_obj;
        }