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