summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin KaFai Lau <kafai@fb.com>2018-12-12 19:18:22 +0100
committerDaniel Borkmann <daniel@iogearbox.net>2018-12-13 12:16:31 +0100
commit177e77169b0b71587c74382d5f2207a16da34790 (patch)
treeda39631926f29fbb7dd194f2b87c949631f5ebe8
parentbpf: Remove bpf_dump_raw_ok() check for func_info and line_info (diff)
downloadlinux-177e77169b0b71587c74382d5f2207a16da34790.tar.xz
linux-177e77169b0b71587c74382d5f2207a16da34790.zip
bpf: Remove !func_info and !line_info check from test_btf and bpftool
kernel can provide the func_info and line_info even it fails the btf_dump_raw_ok() test because they don't contain kernel address. This patch removes the corresponding '== 0' test. Signed-off-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-rw-r--r--tools/bpf/bpftool/prog.c7
-rw-r--r--tools/lib/bpf/bpf_prog_linfo.c6
-rw-r--r--tools/testing/selftests/bpf/test_btf.c7
3 files changed, 1 insertions, 19 deletions
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
index eddf7fba41c6..ee51279be9c7 100644
--- a/tools/bpf/bpftool/prog.c
+++ b/tools/bpf/bpftool/prog.c
@@ -596,13 +596,6 @@ static int do_dump(int argc, char **argv)
goto err_free;
}
- if (func_info && !info.func_info) {
- /* kernel.kptr_restrict is set. No func_info available. */
- free(func_info);
- func_info = NULL;
- nr_finfo = 0;
- }
-
if (linfo && info.nr_line_info != nr_linfo) {
p_err("incorrect nr_line_info %u vs. expected %u",
info.nr_line_info, nr_linfo);
diff --git a/tools/lib/bpf/bpf_prog_linfo.c b/tools/lib/bpf/bpf_prog_linfo.c
index addd6e9971cc..6978314ea7f6 100644
--- a/tools/lib/bpf/bpf_prog_linfo.c
+++ b/tools/lib/bpf/bpf_prog_linfo.c
@@ -107,11 +107,7 @@ struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
nr_linfo = info->nr_line_info;
- /*
- * Test !info->line_info because the kernel may NULL
- * the ptr if kernel.kptr_restrict is set.
- */
- if (!nr_linfo || !info->line_info)
+ if (!nr_linfo)
return NULL;
/*
diff --git a/tools/testing/selftests/bpf/test_btf.c b/tools/testing/selftests/bpf/test_btf.c
index f570e0a39959..8478316aaf9a 100644
--- a/tools/testing/selftests/bpf/test_btf.c
+++ b/tools/testing/selftests/bpf/test_btf.c
@@ -3948,12 +3948,6 @@ static int test_get_finfo(const struct prog_info_raw_test *test,
goto done;
}
- if (CHECK(!info.func_info,
- "info.func_info == 0. kernel.kptr_restrict is set?")) {
- err = -1;
- goto done;
- }
-
finfo = func_info;
for (i = 0; i < test->func_info_cnt; i++) {
if (CHECK(finfo->type_id != test->func_info[i][1],
@@ -4077,7 +4071,6 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
* Other fields are not the concern of this test.
*/
if (CHECK(err == -1 ||
- !info.line_info ||
info.nr_line_info != cnt ||
(jited_cnt && !info.jited_line_info) ||
info.nr_jited_line_info != jited_cnt ||