------------[ cut here ]------------ UBSAN: array-index-out-of-bounds in kernel/bpf/disasm.c:306:21 index 3 is out of range for type 'char *[3]' CPU: 0 UID: 0 PID: 4655 Comm: syz.2.315 Tainted: G W syzkaller #0 PREEMPT Tainted: [W]=WARN Hardware name: linux,dummy-virt (DT) Call trace: show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x7c/0xb0 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 ubsan_epilogue+0x10/0x44 lib/ubsan.c:233 __ubsan_handle_out_of_bounds+0xa0/0xc4 lib/ubsan.c:455 print_bpf_insn+0x1640/0x1a80 kernel/bpf/disasm.c:306 format_disasm_line kernel/bpf/diagnostics.c:633 [inline] diag_print_insn_context+0x2cc/0x754 kernel/bpf/diagnostics.c:783 bpf_diag_source+0x57c/0x10c8 kernel/bpf/diagnostics.c:896 bpf_diag_program_structure+0x1a4/0x24c kernel/bpf/diagnostics.c:1215 check_subprogs kernel/bpf/verifier.c:3057 [inline] bpf_check+0x3a00/0x7698 kernel/bpf/verifier.c:21097 bpf_prog_load+0x1098/0x1fb0 kernel/bpf/syscall.c:3133 __sys_bpf+0xadc/0x2c70 kernel/bpf/syscall.c:6367 __do_sys_bpf kernel/bpf/syscall.c:6486 [inline] __se_sys_bpf kernel/bpf/syscall.c:6483 [inline] __arm64_sys_bpf+0xb0/0x10c kernel/bpf/syscall.c:6483 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x74/0x240 arch/arm64/kernel/syscall.c:49 el0_svc_common.constprop.0+0xac/0x230 arch/arm64/kernel/syscall.c:121 do_el0_svc+0x40/0x58 arch/arm64/kernel/syscall.c:140 el0_svc+0x58/0x2a4 arch/arm64/kernel/entry-common.c:758 el0t_64_sync_handler+0xa0/0xe4 arch/arm64/kernel/entry-common.c:777 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590 ---[ end trace ]--- ================================================================== BUG: KASAN: global-out-of-bounds in print_bpf_insn+0x1620/0x1a80 kernel/bpf/disasm.c:302 Read of size 8 at addr ffff800085b17d98 by task syz.2.315/4655 CPU: 0 UID: 0 PID: 4655 Comm: syz.2.315 Tainted: G W syzkaller #0 PREEMPT Tainted: [W]=WARN Hardware name: linux,dummy-virt (DT) Call trace: show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x7c/0xb0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x18c/0x4e8 mm/kasan/report.c:482 kasan_report+0xb8/0x15c mm/kasan/report.c:595 __asan_report_load8_noabort+0x20/0x34 mm/kasan/report_generic.c:381 print_bpf_insn+0x1620/0x1a80 kernel/bpf/disasm.c:302 format_disasm_line kernel/bpf/diagnostics.c:633 [inline] diag_print_insn_context+0x2cc/0x754 kernel/bpf/diagnostics.c:783 bpf_diag_source+0x57c/0x10c8 kernel/bpf/diagnostics.c:896 bpf_diag_program_structure+0x1a4/0x24c kernel/bpf/diagnostics.c:1215 check_subprogs kernel/bpf/verifier.c:3057 [inline] bpf_check+0x3a00/0x7698 kernel/bpf/verifier.c:21097 bpf_prog_load+0x1098/0x1fb0 kernel/bpf/syscall.c:3133 __sys_bpf+0xadc/0x2c70 kernel/bpf/syscall.c:6367 __do_sys_bpf kernel/bpf/syscall.c:6486 [inline] __se_sys_bpf kernel/bpf/syscall.c:6483 [inline] __arm64_sys_bpf+0xb0/0x10c kernel/bpf/syscall.c:6483 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x74/0x240 arch/arm64/kernel/syscall.c:49 el0_svc_common.constprop.0+0xac/0x230 arch/arm64/kernel/syscall.c:121 do_el0_svc+0x40/0x58 arch/arm64/kernel/syscall.c:140 el0_svc+0x58/0x2a4 arch/arm64/kernel/entry-common.c:758 el0t_64_sync_handler+0xa0/0xe4 arch/arm64/kernel/entry-common.c:777 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590 The buggy address belongs to the variable: bpf_ldsx_string+0x18/0x3a0 The buggy address belongs to a vmalloc virtual mapping The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x45d17 flags: 0x1ffc00000002000(reserved|node=0|zone=0|lastcpupid=0x7ff) raw: 01ffc00000002000 fffffdffc01745c8 fffffdffc01745c8 0000000000000000 raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff800085b17c80: 00 00 00 05 f9 f9 f9 f9 00 06 f9 f9 f9 f9 f9 f9 ffff800085b17d00: 00 04 f9 f9 f9 f9 f9 f9 00 05 f9 f9 f9 f9 f9 f9 >ffff800085b17d80: 00 00 00 f9 f9 f9 f9 f9 00 00 00 06 f9 f9 f9 f9 ^ ffff800085b17e00: 00 00 00 03 f9 f9 f9 f9 00 00 00 00 01 f9 f9 f9 ffff800085b17e80: f9 f9 f9 f9 07 f9 f9 f9 f9 f9 f9 f9 00 00 f9 f9 ==================================================================