]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 May 2025 05:50:53 +0000 (07:50 +0200)
[ Upstream commit 02a4694107b4c830d4bd6d194e98b3ac0bc86f29 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/bpf/bpftool/prog.c

index 90ae2ea61324cc7e94a020499d2501b8b4009073..174e076e56af2a96d00570698275af40328f092c 100644 (file)
@@ -1924,6 +1924,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;
        }