syzbot


BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc

Status: fixed on 2024/12/17 10:00
Subsystems: bpf
[Documentation on labels]
Reported-by: syzbot+fd2873203c2ed428828a@syzkaller.appspotmail.com
Fix commit: 4ff04abf9d5b bpf: Add necessary migrate_disable to range_tree.
First crash: 59d, last: 58d
Cause bisection: introduced by (bisect log) :
commit b795379757eb054925fbb6783559c86f01c1a614
Author: Alexei Starovoitov <ast@kernel.org>
Date: Fri Nov 8 02:56:15 2024 +0000

  bpf: Introduce range_tree data structure and use it in bpf arena

Crash: BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc (log)
Repro: C syz .config
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [bpf?] BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc 1 (2) 2024/11/18 16:30

Sample crash report:
BUG: using smp_processor_id() in preemptible [00000000] code: syz-executor373/5838
caller is bpf_mem_alloc+0x117/0x220 kernel/bpf/memalloc.c:903
CPU: 1 UID: 0 PID: 5838 Comm: syz-executor373 Not tainted 6.12.0-rc7-syzkaller-g379d5ee624ed #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/30/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
 check_preemption_disabled+0x10e/0x120 lib/smp_processor_id.c:49
 bpf_mem_alloc+0x117/0x220 kernel/bpf/memalloc.c:903
 range_tree_set+0x971/0x1830 kernel/bpf/range_tree.c:238
 arena_map_alloc+0x36f/0x440 kernel/bpf/arena.c:137
 map_create+0x946/0x11c0 kernel/bpf/syscall.c:1441
 __sys_bpf+0x6d1/0x810 kernel/bpf/syscall.c:5741
 __do_sys_bpf kernel/bpf/syscall.c:5866 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5864 [inline]
 __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5864
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f5cb29a1329
Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffee3bcaa18 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: ffffffffffffffda RBX: 00007ffee3bcabf8 RCX: 00007f5cb29a1329
RDX: 0000000000000048 RSI: 0000000020003940 RDI: 0000000000000000
RBP: 00007f5cb2a14610 R08: 0000000000000000 R09: 0000000000000000
R10: 00000000ffffffff R11: 0000000000000246 R12: 0000000000000001
R13: 00007ffee3bcabe8 R14: 0000000000000001 R15: 0000000000000001
 </TA

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/11/14 13:37 bpf-next 379d5ee624ed 77f3eeb7 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/15 10:20 bpf-next f01750aecdfb f6ede3a3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/15 10:20 bpf-next f01750aecdfb f6ede3a3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 16:05 bpf-next 379d5ee624ed 77f3eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 12:23 bpf-next 379d5ee624ed 77f3eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 12:21 bpf-next 379d5ee624ed 77f3eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 11:28 bpf-next 379d5ee624ed 77f3eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 11:28 bpf-next 379d5ee624ed 77f3eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 11:13 bpf-next 379d5ee624ed a8c99394 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 11:09 bpf-next 379d5ee624ed a8c99394 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 10:13 bpf-next 379d5ee624ed a8c99394 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
2024/11/14 10:13 bpf-next 379d5ee624ed a8c99394 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: using smp_processor_id() in preemptible code in bpf_mem_alloc
* Struck through repros no longer work on HEAD.