====================================== | [ 794.979252][T21419] eth0: left promiscuous mode | [ 795.061581][T21424] eth1: left promiscuous mode | [ 795.333451][T21363] BUG: using __this_cpu_write() in preemptible [00000000] code: iperf3/21363 | [ 795.333965][T21363] caller is tcp_v6_do_rcv (net/ipv6/tcp_ipv6.c:1644) [ 795.334222][T21363] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 795.334225][T21363] Call Trace: [ 795.334228][T21363] [ 795.334231][T21363] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 795.334240][T21363] check_preemption_disabled (lib/smp_processor_id.c:47) [ 795.334246][T21363] tcp_v6_do_rcv (net/ipv6/tcp_ipv6.c:1644) [ 795.334252][T21363] __release_sock (./include/net/sock.h:1190 net/core/sock.c:3216) [ 795.334262][T21363] __tcp_close (net/ipv4/tcp.c:3238) [ 795.334266][T21363] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 795.334275][T21363] tcp_close (net/ipv4/tcp.c:3316) [ 795.334278][T21363] inet_release (net/ipv4/af_inet.c:442) [ 795.334281][T21363] ? fcntl_setlk (fs/locks.c:2486) [ 795.334287][T21363] __sock_release (net/socket.c:722) [ 795.334293][T21363] sock_close (net/socket.c:1514 (discriminator 1)) [ 795.334295][T21363] __fput (fs/file_table.c:510) [ 795.334300][T21363] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 795.334305][T21363] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 795.334310][T21363] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 795.334314][T21363] ? _raw_spin_unlock_irq (./include/linux/spinlock_api_smp.h:187 kernel/locking/spinlock.c:206) [ 795.334317][T21363] ? _raw_spin_unlock_irq (./include/linux/spinlock_api_smp.h:188 (discriminator 1) kernel/locking/spinlock.c:206 (discriminator 1)) [ 795.334320][T21363] task_work_run (kernel/task_work.c:233) [ 795.334325][T21363] ? task_work_cancel (kernel/task_work.c:190) [ 795.334334][T21363] get_signal (kernel/signal.c:2809) [ 795.334342][T21363] ? preempt_count_add (./include/linux/ftrace.h:1168 kernel/sched/core.c:5837 kernel/sched/core.c:5834 kernel/sched/core.c:5862) [ 795.334345][T21363] ? kick_process (./include/linux/preempt.h:468 kernel/sched/core.c:3475) [ 795.334347][T21363] ? kick_process (./include/linux/preempt.h:468 (discriminator 2) kernel/sched/core.c:3475 (discriminator 2)) [ 795.334350][T21363] ? task_work_add (./include/linux/resume_user_mode.h:24 kernel/task_work.c:84) [ 795.334353][T21363] ? generic_write_checks_count (fs/read_write.c:1754) [ 795.334356][T21363] ? ptrace_signal (./include/linux/signal.h:87) [ 795.334361][T21363] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 795.334367][T21363] arch_do_signal_or_restart (arch/x86/kernel/signal.c:337) [ 795.334375][T21363] ? get_sigframe_size (arch/x86/kernel/signal.c:233) [ 795.334383][T21363] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 795.334387][T21363] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 795.334391][T21363] exit_to_user_mode_loop (kernel/entry/common.c:64 kernel/entry/common.c:98) [ 795.334395][T21363] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 795.334400][T21363] do_syscall_64 (./include/linux/irq-entry-common.h:207 ./include/linux/irq-entry-common.h:238 ./include/linux/entry-common.h:318 arch/x86/entry/syscall_64.c:100) [ 795.334404][T21363] ? irq_exit_rcu (kernel/softirq.c:754) [ 795.334409][T21363] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 795.334413][T21363] RIP: 0033:0x7f3c3afa9e32 [ 795.334418][T21363] Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00 All code ======== 0: 08 0f or %cl,(%rdi) 2: 85 91 41 ff ff 49 test %edx,0x49ffff41(%rcx) 8: 89 fb mov %edi,%ebx a: 48 89 f0 mov %rsi,%rax d: 48 89 d7 mov %rdx,%rdi 10: 48 89 ce mov %rcx,%rsi 13: 4c 89 c2 mov %r8,%rdx 16: 4d 89 ca mov %r9,%r10 19: 4c 8b 44 24 08 mov 0x8(%rsp),%r8 1e: 4c 8b 4c 24 10 mov 0x10(%rsp),%r9 23: 4c 89 5c 24 08 mov %r11,0x8(%rsp) 28: 0f 05 syscall 2a:* c3 ret <-- trapping instruction 2b: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 32: 00 00 00 35: 0f 1f 00 nopl (%rax) 38: f3 0f 1e fa endbr64 3c: 55 push %rbp 3d: bf .byte 0xbf 3e: 01 00 add %eax,(%rax) Code starting with the faulting instruction =========================================== 0: c3 ret 1: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 8: 00 00 00 b: 0f 1f 00 nopl (%rax) e: f3 0f 1e fa endbr64 12: 55 push %rbp 13: bf .byte 0xbf 14: 01 00 add %eax,(%rax) [ 795.334420][T21363] RSP: 002b:00007f3c3a760c98 EFLAGS: 00000246 ORIG_RAX: 0000000000000000 [ 795.334425][T21363] RAX: fffffffffffffe00 RBX: 0000000000000400 RCX: 00007f3c3afa9e32 [ 795.334427][T21363] RDX: 0000000000000400 RSI: 00007f3c3a781000 RDI: 0000000000000008 [ 795.334428][T21363] RBP: 00007f3c3a760cc0 R08: 0000000000000000 R09: 0000000000000000 [ 795.334430][T21363] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000400 Finger prints: check_preemption_disabled:tcp_v6_do_rcv:__release_sock:__tcp_close:tcp_close