------------[ cut here ]------------
WARNING: CPU: 1 PID: 2359 at mm/maccess.c:226 copy_from_user_nofault+0x160/0x1c0 mm/maccess.c:226
Modules linked in:
CPU: 1 PID: 2359 Comm: kworker/1:3 Not tainted 5.15.184-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Workqueue: events bpf_prog_free_deferred
RIP: 0010:copy_from_user_nofault+0x160/0x1c0 mm/maccess.c:226
Code: 24 45 31 f6 31 ff 89 de e8 dd e3 d7 ff 85 db 48 c7 c0 f2 ff ff ff 49 0f 44 c6 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 60 e0 d7 ff <0f> 0b e9 1c ff ff ff 44 89 e1 80 e1 07 80 c1 03 38 c1 0f 8c ea fe
RSP: 0018:ffffc90000dd0c10 EFLAGS: 00010006
RAX: ffffffff819fe0e0 RBX: 0000000000000008 RCX: ffff8880257b8000
RDX: 0000000000010000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: dffffc0000000000 R09: ffffed1004af7001
R10: ffffed1004af7001 R11: 1ffff11004af7000 R12: ffff8880257b9788
R13: 00007ffffffff000 R14: ffffc90000dd0c88 R15: 0000000020000000
FS: 0000000000000000(0000) GS:ffff8880b9100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 000000000be8e000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
bpf_probe_read_user_common kernel/trace/bpf_trace.c:157 [inline]
____bpf_probe_read_compat kernel/trace/bpf_trace.c:281 [inline]
bpf_probe_read_compat+0xdd/0x170 kernel/trace/bpf_trace.c:277
bpf_prog_bcff4640d6a7c5a9+0x5e/0x3d0
bpf_dispatcher_nop_func include/linux/bpf.h:790 [inline]
__bpf_prog_run include/linux/filter.h:628 [inline]
bpf_prog_run include/linux/filter.h:635 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:1878 [inline]
bpf_trace_run2+0x15b/0x2d0 kernel/trace/bpf_trace.c:1915
__traceiter_tlb_flush+0x69/0xb0 include/trace/events/tlb.h:38
trace_tlb_flush+0xe6/0x110 include/trace/events/tlb.h:38
switch_mm_irqs_off+0x6e3/0x9a0 arch/x86/mm/tlb.c:-1
flush_tlb_func+0x1bc/0x510 arch/x86/mm/tlb.c:773
flush_smp_call_function_queue+0x2a9/0x760 kernel/smp.c:628
__sysvec_call_function_single+0x98/0x240 arch/x86/kernel/smp.c:248
instr_sysvec_call_function_single arch/x86/kernel/smp.c:243 [inline]
sysvec_call_function_single+0x98/0xc0 arch/x86/kernel/smp.c:243
asm_sysvec_call_function_single+0x16/0x20 arch/x86/include/asm/idtentry.h:684
RIP: 0010:free_unref_page+0x1c3/0x280 mm/page_alloc.c:3418
Code: c7 44 24 40 00 00 00 00 9c 8f 44 24 40 f6 44 24 41 02 0f 85 85 00 00 00 f7 c3 00 02 00 00 74 01 fb 48 c7 44 24 20 0e 36 e0 45 <4b> c7 44 3d 00 00 00 00 00 66 43 c7 44 3d 09 00 00 43 c6 44 3d 0b
RSP: 0018:ffffc900064afa80 EFLAGS: 00000206
RAX: 7e976e92e8a94c00 RBX: 0000000000000293 RCX: 7e976e92e8a94c00
RDX: dffffc0000000000 RSI: ffffffff8a0b11c0 RDI: ffffffff8a59a700
RBP: ffffc900064afb60 R08: dffffc0000000000 R09: fffffbfff1ff3632
R10: fffffbfff1ff3632 R11: 1ffffffff1ff3631 R12: ffffffff8bbaf818
R13: 1ffff92000c95f54 R14: ffffea0001c7c900 R15: dffffc0000000000
__vunmap+0x8ab/0xa40 mm/vmalloc.c:2621
bpf_jit_binary_free kernel/bpf/core.c:918 [inline]
bpf_jit_free+0x92/0x180 kernel/bpf/core.c:931
process_one_work+0x863/0x1000 kernel/workqueue.c:2310
worker_thread+0xaa8/0x12a0 kernel/workqueue.c:2457
kthread+0x436/0x520 kernel/kthread.c:334
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
----------------
Code disassembly (best guess):
0: c7 44 24 40 00 00 00 movl $0x0,0x40(%rsp)
7: 00
8: 9c pushf
9: 8f 44 24 40 pop 0x40(%rsp)
d: f6 44 24 41 02 testb $0x2,0x41(%rsp)
12: 0f 85 85 00 00 00 jne 0x9d
18: f7 c3 00 02 00 00 test $0x200,%ebx
1e: 74 01 je 0x21
20: fb sti
21: 48 c7 44 24 20 0e 36 movq $0x45e0360e,0x20(%rsp)
28: e0 45
* 2a: 4b c7 44 3d 00 00 00 movq $0x0,0x0(%r13,%r15,1) <-- trapping instruction
31: 00 00
33: 66 43 c7 44 3d 09 00 movw $0x0,0x9(%r13,%r15,1)
3a: 00
3b: 43 rex.XB
3c: c6 .byte 0xc6
3d: 44 rex.R
3e: 3d .byte 0x3d
3f: 0b .byte 0xb