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 <[email protected]>
---
 tools/bpf/bpftool/prog.c               | 7 -------
 tools/lib/bpf/bpf_prog_linfo.c         | 6 +-----
 tools/testing/selftests/bpf/test_btf.c | 7 -------
 3 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
index b73b4e473948..ccf462d5c655 100644
--- a/tools/bpf/bpftool/prog.c
+++ b/tools/bpf/bpftool/prog.c
@@ -626,13 +626,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 ||
-- 
2.17.1

Reply via email to