syzbot
general protection fault in __pcpu_freelist_pop
Status:
upstream: reported on 2026/09/18 04:12
Reported-by: syzbot+dece25017098abd07692@syzkaller.appspotmail.com
First crash: 4d15h, last: 4d15h
Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 PID: 17056 Comm: syz.1.3959 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:___pcpu_freelist_pop kernel/bpf/percpu_freelist.c:134 [inline]
RIP: 0010:__pcpu_freelist_pop+0x7a9/0x810 kernel/bpf/percpu_freelist.c:188
Code: 00 4d 8b 37 48 b8 00 00 00 00 00 fc ff df 80 3c 03 00 74 36 4c 89 ef e8 95 df 3b 00 eb 2c e8 ce 52 e3 ff 4c 89 f8 48 c1 e8 03 <80> 3c 18 00 74 08 4c 89 ff e8 d9 de 3b 00 4d 8b 37 80 7c 1d 00 00
RSP: 0018:ffffc900045af0b0 EFLAGS: 00010046
RAX: 0000000000000000 RBX: dffffc0000000000 RCX: 0000000000080000
RDX: ffffc90004ea9000 RSI: 0000000000008833 RDI: 0000000000008834
RBP: 1ffffd1ffff6081d R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520008b5e04 R12: ffffe8ffffb040f0
R13: ffffe8ffffb040e8 R14: 0000000000000001 R15: 0000000000000002
FS: 00007f8cdbf466c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000004000 CR3: 000000006cd99000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
<TASK>
pcpu_freelist_pop+0xbb/0x190 kernel/bpf/percpu_freelist.c:197
__bpf_get_stackid+0x50f/0x900 kernel/bpf/stackmap.c:243
____bpf_get_stackid_pe kernel/bpf/stackmap.c:362 [inline]
bpf_get_stackid_pe+0x343/0x410 kernel/bpf/stackmap.c:331
bpf_prog_2414a5d5030ea31b+0x29/0x2d
bpf_dispatcher_nop_func include/linux/bpf.h:1224 [inline]
__bpf_prog_run include/linux/filter.h:617 [inline]
bpf_prog_run include/linux/filter.h:624 [inline]
bpf_overflow_handler+0x1fc/0x510 kernel/events/core.c:10584
__perf_event_overflow+0x461/0x660 kernel/events/core.c:9720
perf_swevent_overflow kernel/events/core.c:9803 [inline]
perf_swevent_event+0x319/0x570 kernel/events/core.c:9854
do_perf_sw_event kernel/events/core.c:9967 [inline]
___perf_sw_event+0x4ab/0x730 kernel/events/core.c:9998
__perf_sw_event+0x139/0x270 kernel/events/core.c:10010
perf_sw_event include/linux/perf_event.h:1442 [inline]
do_user_addr_fault+0x1242/0x12d0 arch/x86/mm/fault.c:1278
handle_page_fault arch/x86/mm/fault.c:1463 [inline]
exc_page_fault+0x64/0x100 arch/x86/mm/fault.c:1516
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:608
RIP: 0010:rep_movs_alternative+0x4a/0x90 arch/x86/lib/copy_user_64.S:71
Code: 75 f1 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 8b 06 48 89 07 48 83 c6 08 48 83 c7 08 83 e9 08 74 df 83 f9 08 73 e8 eb c9 <f3> a4 c3 48 8b 06 48 89 07 48 8d 47 08 48 83 e0 f8 48 29 f8 48 01
RSP: 0018:ffffc900045af958 EFLAGS: 00050206
RAX: ffffffff8431f201 RBX: 0000000000033fe0 RCX: 000000000002ffe0
RDX: 0000000000000001 RSI: 0000200000004000 RDI: ffffc90004b6d000
RBP: ffffc900045afa90 R08: ffffc90004b9cfdf R09: 1ffff920009739fb
R10: dffffc0000000000 R11: fffff520009739fc R12: ffffc90004b69000
R13: 0000200000000000 R14: ffffc900045afc18 R15: 1ffff920008b5f83
copy_user_generic arch/x86/include/asm/uaccess_64.h:112 [inline]
raw_copy_from_user arch/x86/include/asm/uaccess_64.h:127 [inline]
copyin lib/iov_iter.c:193 [inline]
_copy_from_iter+0x242/0x1290 lib/iov_iter.c:391
copy_from_iter include/linux/uio.h:209 [inline]
copy_from_iter_full include/linux/uio.h:216 [inline]
memcpy_from_msg include/linux/skbuff.h:4109 [inline]
netlink_sendmsg+0x76b/0xbf0 net/netlink/af_netlink.c:1884
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
sock_write_iter+0x2dc/0x420 net/socket.c:1161
call_write_iter include/linux/fs.h:2018 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x474/0x9a0 fs/read_write.c:584
ksys_write+0x151/0x260 fs/read_write.c:637
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f8cdaf9e159
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f8cdbf46028 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f8cdb225fa0 RCX: 00007f8cdaf9e159
RDX: 0000000000033fe0 RSI: 0000200000000000 RDI: 000000000000000d
RBP: 00007f8cdb03506b R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f8cdb226038 R14: 00007f8cdb225fa0 R15: 00007ffdc4cb3f78
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:___pcpu_freelist_pop kernel/bpf/percpu_freelist.c:134 [inline]
RIP: 0010:__pcpu_freelist_pop+0x7a9/0x810 kernel/bpf/percpu_freelist.c:188
Code: 00 4d 8b 37 48 b8 00 00 00 00 00 fc ff df 80 3c 03 00 74 36 4c 89 ef e8 95 df 3b 00 eb 2c e8 ce 52 e3 ff 4c 89 f8 48 c1 e8 03 <80> 3c 18 00 74 08 4c 89 ff e8 d9 de 3b 00 4d 8b 37 80 7c 1d 00 00
RSP: 0018:ffffc900045af0b0 EFLAGS: 00010046
RAX: 0000000000000000 RBX: dffffc0000000000 RCX: 0000000000080000
RDX: ffffc90004ea9000 RSI: 0000000000008833 RDI: 0000000000008834
RBP: 1ffffd1ffff6081d R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520008b5e04 R12: ffffe8ffffb040f0
R13: ffffe8ffffb040e8 R14: 0000000000000001 R15: 0000000000000002
FS: 00007f8cdbf466c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000004000 CR3: 000000006cd99000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 4d 8b 37 mov (%r15),%r14
3: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
a: fc ff df
d: 80 3c 03 00 cmpb $0x0,(%rbx,%rax,1)
11: 74 36 je 0x49
13: 4c 89 ef mov %r13,%rdi
16: e8 95 df 3b 00 call 0x3bdfb0
1b: eb 2c jmp 0x49
1d: e8 ce 52 e3 ff call 0xffe352f0
22: 4c 89 f8 mov %r15,%rax
25: 48 c1 e8 03 shr $0x3,%rax
* 29: 80 3c 18 00 cmpb $0x0,(%rax,%rbx,1) <-- trapping instruction
2d: 74 08 je 0x37
2f: 4c 89 ff mov %r15,%rdi
32: e8 d9 de 3b 00 call 0x3bdf10
37: 4d 8b 37 mov (%r15),%r14
3a: 80 7c 1d 00 00 cmpb $0x0,0x0(%rbp,%rbx,1)
* Struck through repros no longer work on HEAD.