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
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in __pcpu_freelist_pop bpf 2 syz, C done error 36 360d 400d 0/29 auto-obsoleted due to no activity on 2026/01/13 21:40
android-6-1 general protection fault in __pcpu_freelist_pop 2 19 8d23h 123d 0/2 premoderation: reported on 2026/05/21 20:42

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)

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/18 04:12 linux-6.6.y 79643295eba1 8d7d05f1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan-perf general protection fault in __pcpu_freelist_pop
* Struck through repros no longer work on HEAD.