R13: 000000000000000b R14: 00007fffc4901be0 R15: 00007fffc4901cc8
---[ end trace 6ce5d1c6b5723ae4 ]---
==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read include/linux/instrumented.h:71 [inline]
BUG: KASAN: null-ptr-deref in atomic64_read include/linux/atomic/atomic-instrumented.h:605 [inline]
BUG: KASAN: null-ptr-deref in flush_tlb_func+0x43/0x550 arch/x86/mm/tlb.c:736
Read of size 8 at addr 0000000000000329 by task syz.2.67/468
CPU: 0 PID: 468 Comm: syz.2.67 Tainted: G W 5.15.150-syzkaller-00330-g9044d25b8ff5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Call Trace:
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x151/0x1b7 lib/dump_stack.c:106
__kasan_report mm/kasan/report.c:431 [inline]
kasan_report+0x16f/0x1c0 mm/kasan/report.c:444
kasan_check_range+0x293/0x2a0 mm/kasan/generic.c:189
__kasan_check_read+0x11/0x20 mm/kasan/shadow.c:31
instrument_atomic_read include/linux/instrumented.h:71 [inline]
atomic64_read include/linux/atomic/atomic-instrumented.h:605 [inline]
flush_tlb_func+0x43/0x550 arch/x86/mm/tlb.c:736
flush_smp_call_function_queue+0x222/0x6a0 kernel/smp.c:628
generic_smp_call_function_single_interrupt+0x13/0x20 kernel/smp.c:544
__sysvec_call_function_single+0x63/0x1b0 arch/x86/kernel/smp.c:248
sysvec_call_function_single+0x41/0xb0 arch/x86/kernel/smp.c:243
asm_sysvec_call_function_single+0x1b/0x20 arch/x86/include/asm/idtentry.h:646
RIP: 0010:arch_test_and_set_bit arch/x86/include/asm/bitops.h:138 [inline]
RIP: 0010:test_and_set_bit include/asm-generic/bitops/instrumented-atomic.h:71 [inline]
RIP: 0010:queue_work_on+0x138/0x170 kernel/workqueue.c:1565
Code: 00 31 ff e8 6a 68 28 00 49 81 e7 00 02 00 00 49 bf 00 00 00 00 00 fc ff df 75 07 e8 12 64 28 00 eb 06 e8 0b 64 28 00 fb 84 db <0f> 94 c0 48 c7 44 24 20 0e 36 e0 45 4b c7 04 37 00 00 00 00 65 48
RSP: 0018:ffffc90000007b60 EFLAGS: 00000246
RAX: ffffffff8147d395 RBX: 0000000000000000 RCX: ffff8881117013c0
RDX: 0000000080000104 RSI: 0000000000000200 RDI: 0000000000000000
RBP: ffffc90000007c18 R08: ffffffff8147d376 R09: 0000000000000003
R10: fffff52000000f18 R11: dffffc0000000001 R12: ffff88810eb53a90
R13: dffffc0000000001 R14: 1ffff92000000f70 R15: dffffc0000000000
queue_work include/linux/workqueue.h:510 [inline]
schedule_work include/linux/workqueue.h:571 [inline]
bpf_prog_free+0x13c/0x150 kernel/bpf/core.c:2308
__bpf_prog_put_rcu+0xaf/0xc0 kernel/bpf/syscall.c:1769
rcu_do_batch+0x57a/0xc10 kernel/rcu/tree.c:2523
rcu_core+0x517/0x1020 kernel/rcu/tree.c:2763
rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2776
__do_softirq+0x26d/0x5bf kernel/softirq.c:565
do_softirq+0xf6/0x150 kernel/softirq.c:452
__local_bh_enable_ip+0x75/0x80 kernel/softirq.c:379
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:176 [inline]
_raw_spin_unlock_bh+0x51/0x60 kernel/locking/spinlock.c:210
sock_hash_delete_elem+0x2a2/0x2f0 net/core/sock_map.c:945
bpf_prog_bc4ba9860fbb0da4+0x3e/0x3f8
bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline]
__bpf_prog_run include/linux/filter.h:625 [inline]
bpf_prog_run include/linux/filter.h:632 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline]
bpf_trace_run2+0xec/0x210 kernel/trace/bpf_trace.c:1917
__bpf_trace_tlb_flush+0x23/0x30 include/trace/events/tlb.h:38
__traceiter_tlb_flush+0x77/0xd0 include/trace/events/tlb.h:38
trace_tlb_flush include/trace/events/tlb.h:38 [inline]
switch_mm_irqs_off+0x616/0x9b0 arch/x86/mm/tlb.c:629
context_switch kernel/sched/core.c:5137 [inline]
__schedule+0xb2b/0x1590 kernel/sched/core.c:6512
preempt_schedule_common+0x9b/0xf0 kernel/sched/core.c:6688
preempt_schedule+0xd9/0xe0 kernel/sched/core.c:6713
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:34
__raw_spin_unlock include/linux/spinlock_api_smp.h:152 [inline]
_raw_spin_unlock+0x60/0x70 kernel/locking/spinlock.c:186
spin_unlock include/linux/spinlock.h:403 [inline]
zap_pte_range mm/memory.c:1500 [inline]
zap_pmd_range mm/memory.c:1559 [inline]
zap_pud_range mm/memory.c:1588 [inline]
zap_p4d_range mm/memory.c:1609 [inline]
unmap_page_range+0x1976/0x1ed0 mm/memory.c:1630
unmap_single_vma mm/memory.c:1675 [inline]
unmap_vmas+0x389/0x560 mm/memory.c:1707
exit_mmap+0x3e4/0x940 mm/mmap.c:3215
__mmput+0x95/0x310 kernel/fork.c:1179
mmput+0x5b/0x170 kernel/fork.c:1202
exit_mm kernel/exit.c:552 [inline]
do_exit+0xb9c/0x2ca0 kernel/exit.c:865
do_group_exit+0x141/0x310 kernel/exit.c:1000
get_signal+0x7a3/0x1630 kernel/signal.c:2896
arch_do_signal_or_restart+0xbd/0x1680 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:148 [inline]
exit_to_user_mode_loop+0xa0/0xe0 kernel/entry/common.c:172
exit_to_user_mode_prepare+0x5a/0xa0 kernel/entry/common.c:208
__syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
syscall_exit_to_user_mode+0x26/0x160 kernel/entry/common.c:301
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f3466e51bd9
Code: Unable to access opcode bytes at RIP 0x7f3466e51baf.
RSP: 002b:00007f34660d30f8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: 0000000000000001 RBX: 00007f3466fdff68 RCX: 00007f3466e51bd9
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f3466fdff6c
RBP: 00007f3466fdff60 R08: 00007fffc49510b0 R09: 00007f34660d36c0
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f3466fdff6c
R13: 000000000000000b R14: 00007fffc4901be0 R15: 00007fffc4901cc8
==================================================================
general protection fault, probably for non-canonical address 0xdffffc0000000065: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f]
CPU: 0 PID: 468 Comm: syz.2.67 Tainted: G B W 5.15.150-syzkaller-00330-g9044d25b8ff5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
RIP: 0010:arch_atomic64_read arch/x86/include/asm/atomic64_64.h:22 [inline]
RIP: 0010:atomic64_read include/linux/atomic/atomic-instrumented.h:606 [inline]
RIP: 0010:flush_tlb_func+0x4a/0x550 arch/x86/mm/tlb.c:736
Code: 8b 35 2a 96 cd 7e 65 66 44 8b 25 31 96 cd 7e 49 8d 9e 28 03 00 00 48 89 df be 08 00 00 00 e8 7d 98 7c 00 48 89 d8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 df e8 87 96 7c 00 4c 8b 3b 66 44 89 65
RSP: 0018:ffffc90000007990 EFLAGS: 00010006
RAX: 0000000000000065 RBX: 0000000000000329 RCX: ffff8881117013c0
RDX: 0000000080010104 RSI: 0000000000000092 RDI: 00000000ffffffff
RBP: ffffc90000007a00 R08: ffffffff8141701b R09: 0000000000000003
R10: fffffbfff0e5284c R11: dffffc0000000001 R12: 1ffff1103ee00000
R13: ffff8881f7137180 R14: 0000000000000001 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020422000 CR3: 0000000123cd4000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
flush_smp_call_function_queue+0x222/0x6a0 kernel/smp.c:628
generic_smp_call_function_single_interrupt+0x13/0x20 kernel/smp.c:544
__sysvec_call_function_single+0x63/0x1b0 arch/x86/kernel/smp.c:248
sysvec_call_function_single+0x41/0xb0 arch/x86/kernel/smp.c:243
asm_sysvec_call_function_single+0x1b/0x20 arch/x86/include/asm/idtentry.h:646
RIP: 0010:arch_test_and_set_bit arch/x86/include/asm/bitops.h:138 [inline]
RIP: 0010:test_and_set_bit include/asm-generic/bitops/instrumented-atomic.h:71 [inline]
RIP: 0010:queue_work_on+0x138/0x170 kernel/workqueue.c:1565
Code: 00 31 ff e8 6a 68 28 00 49 81 e7 00 02 00 00 49 bf 00 00 00 00 00 fc ff df 75 07 e8 12 64 28 00 eb 06 e8 0b 64 28 00 fb 84 db <0f> 94 c0 48 c7 44 24 20 0e 36 e0 45 4b c7 04 37 00 00 00 00 65 48
RSP: 0018:ffffc90000007b60 EFLAGS: 00000246
RAX: ffffffff8147d395 RBX: 0000000000000000 RCX: ffff8881117013c0
RDX: 0000000080000104 RSI: 0000000000000200 RDI: 0000000000000000
RBP: ffffc90000007c18 R08: ffffffff8147d376 R09: 0000000000000003
R10: fffff52000000f18 R11: dffffc0000000001 R12: ffff88810eb53a90
R13: dffffc0000000001 R14: 1ffff92000000f70 R15: dffffc0000000000
queue_work include/linux/workqueue.h:510 [inline]
schedule_work include/linux/workqueue.h:571 [inline]
bpf_prog_free+0x13c/0x150 kernel/bpf/core.c:2308
__bpf_prog_put_rcu+0xaf/0xc0 kernel/bpf/syscall.c:1769
rcu_do_batch+0x57a/0xc10 kernel/rcu/tree.c:2523
rcu_core+0x517/0x1020 kernel/rcu/tree.c:2763
rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2776
__do_softirq+0x26d/0x5bf kernel/softirq.c:565
do_softirq+0xf6/0x150 kernel/softirq.c:452
__local_bh_enable_ip+0x75/0x80 kernel/softirq.c:379
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:176 [inline]
_raw_spin_unlock_bh+0x51/0x60 kernel/locking/spinlock.c:210
sock_hash_delete_elem+0x2a2/0x2f0 net/core/sock_map.c:945
bpf_prog_bc4ba9860fbb0da4+0x3e/0x3f8
bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline]
__bpf_prog_run include/linux/filter.h:625 [inline]
bpf_prog_run include/linux/filter.h:632 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline]
bpf_trace_run2+0xec/0x210 kernel/trace/bpf_trace.c:1917
__bpf_trace_tlb_flush+0x23/0x30 include/trace/events/tlb.h:38
__traceiter_tlb_flush+0x77/0xd0 include/trace/events/tlb.h:38
trace_tlb_flush include/trace/events/tlb.h:38 [inline]
switch_mm_irqs_off+0x616/0x9b0 arch/x86/mm/tlb.c:629
context_switch kernel/sched/core.c:5137 [inline]
__schedule+0xb2b/0x1590 kernel/sched/core.c:6512
preempt_schedule_common+0x9b/0xf0 kernel/sched/core.c:6688
preempt_schedule+0xd9/0xe0 kernel/sched/core.c:6713
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:34
__raw_spin_unlock include/linux/spinlock_api_smp.h:152 [inline]
_raw_spin_unlock+0x60/0x70 kernel/locking/spinlock.c:186
spin_unlock include/linux/spinlock.h:403 [inline]
zap_pte_range mm/memory.c:1500 [inline]
zap_pmd_range mm/memory.c:1559 [inline]
zap_pud_range mm/memory.c:1588 [inline]
zap_p4d_range mm/memory.c:1609 [inline]
unmap_page_range+0x1976/0x1ed0 mm/memory.c:1630
unmap_single_vma mm/memory.c:1675 [inline]
unmap_vmas+0x389/0x560 mm/memory.c:1707
exit_mmap+0x3e4/0x940 mm/mmap.c:3215
__mmput+0x95/0x310 kernel/fork.c:1179
mmput+0x5b/0x170 kernel/fork.c:1202
exit_mm kernel/exit.c:552 [inline]
do_exit+0xb9c/0x2ca0 kernel/exit.c:865
do_group_exit+0x141/0x310 kernel/exit.c:1000
get_signal+0x7a3/0x1630 kernel/signal.c:2896
arch_do_signal_or_restart+0xbd/0x1680 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:148 [inline]
exit_to_user_mode_loop+0xa0/0xe0 kernel/entry/common.c:172
exit_to_user_mode_prepare+0x5a/0xa0 kernel/entry/common.c:208
__syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
syscall_exit_to_user_mode+0x26/0x160 kernel/entry/common.c:301
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f3466e51bd9
Code: Unable to access opcode bytes at RIP 0x7f3466e51baf.
RSP: 002b:00007f34660d30f8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: 0000000000000001 RBX: 00007f3466fdff68 RCX: 00007f3466e51bd9
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f3466fdff6c
RBP: 00007f3466fdff60 R08: 00007fffc49510b0 R09: 00007f34660d36c0
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f3466fdff6c
R13: 000000000000000b R14: 00007fffc4901be0 R15: 00007fffc4901cc8
Modules linked in:
---[ end trace 6ce5d1c6b5723ae5 ]---
RIP: 0010:arch_atomic64_read arch/x86/include/asm/atomic64_64.h:22 [inline]
RIP: 0010:atomic64_read include/linux/atomic/atomic-instrumented.h:606 [inline]
RIP: 0010:flush_tlb_func+0x4a/0x550 arch/x86/mm/tlb.c:736
Code: 8b 35 2a 96 cd 7e 65 66 44 8b 25 31 96 cd 7e 49 8d 9e 28 03 00 00 48 89 df be 08 00 00 00 e8 7d 98 7c 00 48 89 d8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 df e8 87 96 7c 00 4c 8b 3b 66 44 89 65
RSP: 0018:ffffc90000007990 EFLAGS: 00010006
RAX: 0000000000000065 RBX: 0000000000000329 RCX: ffff8881117013c0
RDX: 0000000080010104 RSI: 0000000000000092 RDI: 00000000ffffffff
RBP: ffffc90000007a00 R08: ffffffff8141701b R09: 0000000000000003
R10: fffffbfff0e5284c R11: dffffc0000000001 R12: 1ffff1103ee00000
R13: ffff8881f7137180 R14: 0000000000000001 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020422000 CR3: 0000000123cd4000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 31 ff xor %edi,%edi
2: e8 6a 68 28 00 call 0x286871
7: 49 81 e7 00 02 00 00 and $0x200,%r15
e: 49 bf 00 00 00 00 00 movabs $0xdffffc0000000000,%r15
15: fc ff df
18: 75 07 jne 0x21
1a: e8 12 64 28 00 call 0x286431
1f: eb 06 jmp 0x27
21: e8 0b 64 28 00 call 0x286431
26: fb sti
27: 84 db test %bl,%bl
* 29: 0f 94 c0 sete %al <-- trapping instruction
2c: 48 c7 44 24 20 0e 36 movq $0x45e0360e,0x20(%rsp)
33: e0 45
35: 4b c7 04 37 00 00 00 movq $0x0,(%r15,%r14,1)
3c: 00
3d: 65 gs
3e: 48 rex.W