syzbot


UBSAN: array-index-out-of-bounds in check_ld_imm

Status: auto-obsoleted due to no activity on 2024/05/03 02:07
First crash: 294d, last: 294d

Sample crash report:
================================================================================
UBSAN: array-index-out-of-bounds in kernel/bpf/verifier.c:6301:8
index 3218603112 is out of range for type 'struct bpf_map *[64]'
CPU: 1 PID: 29706 Comm: syz-executor.3 Not tainted 5.4.265-syzkaller-00043-gbf4c80bc4358 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1d8/0x241 lib/dump_stack.c:118
 ubsan_epilogue lib/ubsan.c:148 [inline]
 __ubsan_handle_out_of_bounds+0x113/0x160 lib/ubsan.c:356
 check_ld_imm+0x87c/0x890 kernel/bpf/verifier.c:6301
 do_check+0x5deb/0x9820 kernel/bpf/verifier.c:8122
 bpf_check+0x2169/0xb340 kernel/bpf/verifier.c:9637
 bpf_prog_load kernel/bpf/syscall.c:1724 [inline]
 __do_sys_bpf kernel/bpf/syscall.c:2891 [inline]
 __se_sys_bpf+0x8139/0xbcb0 kernel/bpf/syscall.c:2849
 do_syscall_64+0xca/0x1c0 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x5c/0xc1
================================================================================
BUG: unable to handle page fault for address: ffffed10f8228c70
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 23fff3067 P4D 23fff3067 PUD 0 
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 29706 Comm: syz-executor.3 Not tainted 5.4.265-syzkaller-00043-gbf4c80bc4358 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
RIP: 0010:check_ld_imm+0x3b5/0x890 kernel/bpf/verifier.c:6301
Code: 00 8b 2b bf 40 00 00 00 89 ee e8 16 71 f2 ff 48 83 fd 3f 0f 87 c4 04 00 00 e8 17 6e f2 ff 49 8d 6c ec 40 48 89 e8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 ef e8 ac 40 22 00 48 89 5c 24 18 4c 8b
RSP: 0018:ffff8881bbfbf040 EFLAGS: 00010a02
RAX: 1ffff110f8228c70 RBX: ffffc900000871c8 RCX: 0000000000040000
RDX: ffffc90001548000 RSI: 00000000000320a5 RDI: 00000000000320a6
RBP: ffff8887c1146380 R08: ffffffff82485436 R09: ffffed103edea9b8
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff8881c2548000
R13: 1ffff92000010a1a R14: ffff8881e9ab4000 R15: dffffc0000000000
FS:  00007fe5b0c256c0(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed10f8228c70 CR3: 00000001f27fb000 CR4: 00000000003406a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 do_check+0x5deb/0x9820 kernel/bpf/verifier.c:8122
 bpf_check+0x2169/0xb340 kernel/bpf/verifier.c:9637
 bpf_prog_load kernel/bpf/syscall.c:1724 [inline]
 __do_sys_bpf kernel/bpf/syscall.c:2891 [inline]
 __se_sys_bpf+0x8139/0xbcb0 kernel/bpf/syscall.c:2849
 do_syscall_64+0xca/0x1c0 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x5c/0xc1
Modules linked in:
CR2: ffffed10f8228c70
---[ end trace 6fcc5313f106c383 ]---
RIP: 0010:check_ld_imm+0x3b5/0x890 kernel/bpf/verifier.c:6301
Code: 00 8b 2b bf 40 00 00 00 89 ee e8 16 71 f2 ff 48 83 fd 3f 0f 87 c4 04 00 00 e8 17 6e f2 ff 49 8d 6c ec 40 48 89 e8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 ef e8 ac 40 22 00 48 89 5c 24 18 4c 8b
RSP: 0018:ffff8881bbfbf040 EFLAGS: 00010a02
RAX: 1ffff110f8228c70 RBX: ffffc900000871c8 RCX: 0000000000040000
RDX: ffffc90001548000 RSI: 00000000000320a5 RDI: 00000000000320a6
RBP: ffff8887c1146380 R08: ffffffff82485436 R09: ffffed103edea9b8
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff8881c2548000
R13: 1ffff92000010a1a R14: ffff8881e9ab4000 R15: dffffc0000000000
FS:  00007fe5b0c256c0(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed10f8228c70 CR3: 00000001f27fb000 CR4: 00000000003406a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	00 8b 2b bf 40 00    	add    %cl,0x40bf2b(%rbx)
   6:	00 00                	add    %al,(%rax)
   8:	89 ee                	mov    %ebp,%esi
   a:	e8 16 71 f2 ff       	call   0xfff27125
   f:	48 83 fd 3f          	cmp    $0x3f,%rbp
  13:	0f 87 c4 04 00 00    	ja     0x4dd
  19:	e8 17 6e f2 ff       	call   0xfff26e35
  1e:	49 8d 6c ec 40       	lea    0x40(%r12,%rbp,8),%rbp
  23:	48 89 e8             	mov    %rbp,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1) <-- trapping instruction
  2f:	74 08                	je     0x39
  31:	48 89 ef             	mov    %rbp,%rdi
  34:	e8 ac 40 22 00       	call   0x2240e5
  39:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
  3e:	4c                   	rex.WR
  3f:	8b                   	.byte 0x8b

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/02/03 02:06 android12-5.4 bf4c80bc4358 60bf9982 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-4-perf-kasan UBSAN: array-index-out-of-bounds in check_ld_imm
* Struck through repros no longer work on HEAD.