diff options
author | Martin KaFai Lau <kafai@fb.com> | 2018-12-05 20:35:47 -0500 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-12-05 21:48:40 -0500 |
commit | 84ecc1f98ca7ce28ede9bc5cc70a557fdfa09caa (patch) | |
tree | d1b34c120c66dd799428ca4e61bf8ed710f4ae3e /tools/lib/bpf/btf.c | |
parent | 555249df711b146a2898949ac80503be29fe7340 (diff) |
bpf: Expect !info.func_info and insn_off name changes in test_btf/libbpf/bpftool
Similar to info.jited_*, info.func_info could be 0 if
bpf_dump_raw_ok() == false.
This patch makes changes to test_btf and bpftool to expect info.func_info
could be 0.
This patch also makes the needed changes for s/insn_offset/insn_off/.
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib/bpf/btf.c')
-rw-r--r-- | tools/lib/bpf/btf.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c index c2d641f3e16e..85d6446cf832 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c | |||
@@ -45,7 +45,7 @@ struct btf_ext { | |||
45 | 45 | ||
46 | /* The minimum bpf_func_info checked by the loader */ | 46 | /* The minimum bpf_func_info checked by the loader */ |
47 | struct bpf_func_info_min { | 47 | struct bpf_func_info_min { |
48 | __u32 insn_offset; | 48 | __u32 insn_off; |
49 | __u32 type_id; | 49 | __u32 type_id; |
50 | }; | 50 | }; |
51 | 51 | ||
@@ -670,7 +670,7 @@ int btf_ext__reloc_init(struct btf *btf, struct btf_ext *btf_ext, | |||
670 | 670 | ||
671 | memcpy(data, sinfo->data, records_len); | 671 | memcpy(data, sinfo->data, records_len); |
672 | 672 | ||
673 | /* adjust the insn_offset, the data in .BTF.ext is | 673 | /* adjust the insn_off, the data in .BTF.ext is |
674 | * the actual byte offset, and the kernel expects | 674 | * the actual byte offset, and the kernel expects |
675 | * the offset in term of bpf_insn. | 675 | * the offset in term of bpf_insn. |
676 | * | 676 | * |
@@ -681,7 +681,7 @@ int btf_ext__reloc_init(struct btf *btf, struct btf_ext *btf_ext, | |||
681 | struct bpf_func_info_min *record; | 681 | struct bpf_func_info_min *record; |
682 | 682 | ||
683 | record = data + i * record_size; | 683 | record = data + i * record_size; |
684 | record->insn_offset /= sizeof(struct bpf_insn); | 684 | record->insn_off /= sizeof(struct bpf_insn); |
685 | } | 685 | } |
686 | 686 | ||
687 | *func_info = data; | 687 | *func_info = data; |
@@ -722,15 +722,15 @@ int btf_ext__reloc(struct btf *btf, struct btf_ext *btf_ext, | |||
722 | return -ENOMEM; | 722 | return -ENOMEM; |
723 | 723 | ||
724 | memcpy(data + existing_flen, sinfo->data, records_len); | 724 | memcpy(data + existing_flen, sinfo->data, records_len); |
725 | /* adjust insn_offset only, the rest data will be passed | 725 | /* adjust insn_off only, the rest data will be passed |
726 | * to the kernel. | 726 | * to the kernel. |
727 | */ | 727 | */ |
728 | for (i = 0; i < sinfo->num_func_info; i++) { | 728 | for (i = 0; i < sinfo->num_func_info; i++) { |
729 | struct bpf_func_info_min *record; | 729 | struct bpf_func_info_min *record; |
730 | 730 | ||
731 | record = data + existing_flen + i * record_size; | 731 | record = data + existing_flen + i * record_size; |
732 | record->insn_offset = | 732 | record->insn_off = |
733 | record->insn_offset / sizeof(struct bpf_insn) + | 733 | record->insn_off / sizeof(struct bpf_insn) + |
734 | insns_cnt; | 734 | insns_cnt; |
735 | } | 735 | } |
736 | *func_info = data; | 736 | *func_info = data; |