diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-12-09 07:42:48 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-12-17 19:03:39 +0100 |
| commit | 64ca0a371100fc7dfdb20de9263763e46c88a436 (patch) | |
| tree | 0e417568271dbbcc5817034a624a31d62bf20633 /sys/linux/bpf.txt.warn | |
| parent | f950e82d47572b79581fd6b8355504cddb06a7f4 (diff) | |
tools/syz-check: add description checking utility
syz-check parses vmlinux dwarf, extracts struct descriptions,
compares them with what we have (size, fields, alignment, etc)
and produces .warn files.
This is first raw version, it can be improved in a number of ways.
But it already helped to identify a critical issue #1542
and shows some wrong struct descriptions.
Update #590
Diffstat (limited to 'sys/linux/bpf.txt.warn')
| -rw-r--r-- | sys/linux/bpf.txt.warn | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/sys/linux/bpf.txt.warn b/sys/linux/bpf.txt.warn new file mode 100644 index 000000000..abd7df73d --- /dev/null +++ b/sys/linux/bpf.txt.warn @@ -0,0 +1,87 @@ +0057: struct bpf_map_create_arg: no corresponding struct in kernel +0072: struct bpf_map_get_fd_by_id_arg: no corresponding struct in kernel +0078: struct bpf_map_lookup_arg: no corresponding struct in kernel +0085: struct bpf_map_update_arg: no corresponding struct in kernel +0092: struct bpf_map_delete_arg: no corresponding struct in kernel +0099: struct bpf_map_get_next_arg: no corresponding struct in kernel +0109: struct bpf_prog: bad number of fields: syz=21 kernel=20 +0109: struct bpf_prog: bad size: syz=120 kernel=56 +0110: field bpf_prog.type/pages: bad size: syz=4 kernel=2 +0111: field bpf_prog.ninsn/jited: bad bit size/offset: syz=0/0 kernel=1/0 +0111: field bpf_prog.ninsn/jited: bad offset: syz=4 kernel=2 +0111: field bpf_prog.ninsn/jited: bad size: syz=4 kernel=2 +0112: field bpf_prog.insns/jit_requested: bad bit size/offset: syz=0/0 kernel=1/1 +0112: field bpf_prog.insns/jit_requested: bad offset: syz=8 kernel=2 +0112: field bpf_prog.insns/jit_requested: bad size: syz=8 kernel=2 +0113: field bpf_prog.license/gpl_compatible: bad bit size/offset: syz=0/0 kernel=1/2 +0113: field bpf_prog.license/gpl_compatible: bad offset: syz=16 kernel=2 +0113: field bpf_prog.license/gpl_compatible: bad size: syz=8 kernel=2 +0114: field bpf_prog.loglev/cb_access: bad bit size/offset: syz=0/0 kernel=1/3 +0114: field bpf_prog.loglev/cb_access: bad offset: syz=24 kernel=2 +0114: field bpf_prog.loglev/cb_access: bad size: syz=4 kernel=2 +0115: field bpf_prog.logsize/dst_needed: bad bit size/offset: syz=0/0 kernel=1/4 +0115: field bpf_prog.logsize/dst_needed: bad offset: syz=28 kernel=2 +0115: field bpf_prog.logsize/dst_needed: bad size: syz=4 kernel=2 +0116: field bpf_prog.log/blinded: bad bit size/offset: syz=0/0 kernel=1/5 +0116: field bpf_prog.log/blinded: bad offset: syz=32 kernel=2 +0116: field bpf_prog.log/blinded: bad size: syz=8 kernel=2 +0117: field bpf_prog.kern_version/is_func: bad bit size/offset: syz=0/0 kernel=1/6 +0117: field bpf_prog.kern_version/is_func: bad offset: syz=40 kernel=2 +0117: field bpf_prog.kern_version/is_func: bad size: syz=4 kernel=2 +0118: field bpf_prog.flags/kprobe_override: bad bit size/offset: syz=0/0 kernel=1/7 +0118: field bpf_prog.flags/kprobe_override: bad offset: syz=44 kernel=2 +0118: field bpf_prog.flags/kprobe_override: bad size: syz=4 kernel=2 +0119: field bpf_prog.prog_name/has_callchain_buf: bad bit size/offset: syz=0/0 kernel=1/8 +0119: field bpf_prog.prog_name/has_callchain_buf: bad offset: syz=48 kernel=2 +0119: field bpf_prog.prog_name/has_callchain_buf: bad size: syz=16 kernel=2 +0120: field bpf_prog.prog_ifindex/enforce_expected_attach_type: bad bit size/offset: syz=0/0 kernel=1/9 +0120: field bpf_prog.prog_ifindex/enforce_expected_attach_type: bad offset: syz=64 kernel=2 +0120: field bpf_prog.prog_ifindex/enforce_expected_attach_type: bad size: syz=4 kernel=2 +0121: field bpf_prog.expected_attach_type/type: bad offset: syz=68 kernel=4 +0122: field bpf_prog.btf_fd/expected_attach_type: bad offset: syz=72 kernel=8 +0123: field bpf_prog.func_info_rec_size/len: bad offset: syz=76 kernel=12 +0124: field bpf_prog.func_info/jited_len: bad offset: syz=80 kernel=16 +0124: field bpf_prog.func_info/jited_len: bad size: syz=8 kernel=4 +0125: field bpf_prog.func_info_cnt/tag: bad offset: syz=88 kernel=20 +0125: field bpf_prog.func_info_cnt/tag: bad size: syz=4 kernel=8 +0126: field bpf_prog.line_info_rec_size/aux: bad offset: syz=92 kernel=32 +0126: field bpf_prog.line_info_rec_size/aux: bad size: syz=4 kernel=8 +0127: field bpf_prog.line_info/orig_prog: bad offset: syz=96 kernel=40 +0128: field bpf_prog.line_info_cnt/bpf_func: bad offset: syz=104 kernel=48 +0128: field bpf_prog.line_info_cnt/bpf_func: bad size: syz=4 kernel=8 +0129: field bpf_prog.attach_btf_id/: bad offset: syz=108 kernel=56 +0129: field bpf_prog.attach_btf_id/: bad size: syz=4 kernel=0 +0174: struct bpf_insn_generic: no corresponding struct in kernel +0182: struct bpf_insn_ldst: no corresponding struct in kernel +0207: struct bpf_insn_alu: no corresponding struct in kernel +0235: struct bpf_insn_jmp: no corresponding struct in kernel +0262: struct bpf_insn_call_helper: no corresponding struct in kernel +0269: struct bpf_insn_call_func: no corresponding struct in kernel +0280: struct bpf_insn_exit: no corresponding struct in kernel +0289: struct bpf_insn_init_r0: no corresponding struct in kernel +0301: struct bpf_insn_map: no corresponding struct in kernel +0313: struct bpf_insn_map_value: no corresponding struct in kernel +0335: struct bpf_obj_pin_map: no corresponding struct in kernel +0341: struct bpf_obj_pin_prog: no corresponding struct in kernel +0347: struct bpf_obj_get: no corresponding struct in kernel +0353: struct bpf_attach_arg: no corresponding struct in kernel +0360: struct bpf_detach_arg: no corresponding struct in kernel +0367: struct bpf_test_prog_arg: no corresponding struct in kernel +0382: struct bpf_obj_get_next_id_arg: no corresponding struct in kernel +0388: struct bpf_prog_get_fd_by_id_arg: no corresponding struct in kernel +0394: struct bpf_get_prog_info_arg: no corresponding struct in kernel +0400: struct bpf_prog_info: bad number of fields: syz=32 kernel=34 +0400: struct bpf_prog_info: bad size: syz=192 kernel=208 +0435: struct bpf_get_map_info_arg: no corresponding struct in kernel +0441: struct bpf_map_info: bad number of fields: syz=7 kernel=13 +0441: struct bpf_map_info: bad size: syz=40 kernel=80 +0451: struct bpf_get_btf_info_arg: no corresponding struct in kernel +0463: struct bpf_prog_query: no corresponding struct in kernel +0474: field bpf_raw_tracepoint.prog_fd/prog: bad size: syz=4 kernel=8 +0477: struct bpf_btf_load: no corresponding struct in kernel +0520: struct btf_type_int: no corresponding struct in kernel +0543: struct btf_type_array: no corresponding struct in kernel +0588: struct btf_type_fwd: no corresponding struct in kernel +0596: struct btf_type_func: no corresponding struct in kernel +0618: struct btf_type_var: no corresponding struct in kernel +0652: struct bpf_task_fd_query: no corresponding struct in kernel |
