libbpf: Return -ENODATA for missing btf section
authorChangbin Du <changbin.du@gmail.com>
Sat, 31 Dec 2022 15:14:36 +0000 (23:14 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 3 Jan 2023 22:27:42 +0000 (14:27 -0800)
As discussed before, return -ENODATA (No data available) would be more
meaningful than ENOENT (No such file or directory).

Suggested-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20221231151436.6541-1-changbin.du@gmail.com
tools/lib/bpf/btf.c

index b032500..6484111 100644 (file)
@@ -1004,7 +1004,7 @@ static struct btf *btf_parse_elf(const char *path, struct btf *base_btf,
 
        if (!btf_data) {
                pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path);
-               err = -ENOENT;
+               err = -ENODATA;
                goto done;
        }
        btf = btf_new(btf_data->d_buf, btf_data->d_size, base_btf);