summaryrefslogtreecommitdiff
path: root/tools/bpf/bpftool/prog.c
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@kernel.org>2018-12-05 18:48:41 -0800
committerAlexei Starovoitov <ast@kernel.org>2018-12-05 18:48:41 -0800
commita06aef4ed5b6f1daa20babb4ad4458392bce5edd (patch)
treed1b34c120c66dd799428ca4e61bf8ed710f4ae3e /tools/bpf/bpftool/prog.c
parent30da46b5dc3a9a14db11706d841440e28b12bb53 (diff)
parent84ecc1f98ca7ce28ede9bc5cc70a557fdfa09caa (diff)
Merge branch 'bpf_func_info-improvements'
Martin KaFai Lau says: ==================== The patchset has a few improvements on bpf_func_info: 1. Improvements on the behaviors of info.func_info, info.func_info_cnt and info.func_info_rec_size. 2. Name change: s/insn_offset/insn_off/ Please see individual patch for details. ==================== Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/bpf/bpftool/prog.c')
-rw-r--r--tools/bpf/bpftool/prog.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
index 54c8dbf05c9c..a9a51123454c 100644
--- a/tools/bpf/bpftool/prog.c
+++ b/tools/bpf/bpftool/prog.c
@@ -589,6 +589,13 @@ 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;
+ finfo_cnt = 0;
+ }
+
if ((member_len == &info.jited_prog_len &&
info.jited_prog_insns == 0) ||
(member_len == &info.xlated_prog_len &&