====================================== | [ 20.634308][ C0] rcu_scheduler_active = 2, debug_locks = 1 | [ 20.634704][ C0] no locks held by udpgso_bench_tx/317. | [ 20.634973][ C0] | [ 20.634973][ C0] stack backtrace: [ 20.635318][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 20.635320][ C0] Call Trace: [ 20.635322][ C0] [ 20.635324][ C0] dump_stack_lvl (lib/dump_stack.c:123) [ 20.635336][ C0] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6866) [ 20.635349][ C0] veth_xdp_rcv (drivers/net/veth.c:907 (discriminator 9)) [ 20.635359][ C0] ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/preempt.h:104 ./include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194) [ 20.635368][ C0] ? debug_object_activate (lib/debugobjects.c:837) [ 20.635378][ C0] ? __pfx_debug_object_activate (lib/debugobjects.c:805) [ 20.635383][ C0] ? __pfx_veth_xdp_rcv (drivers/net/veth.c:899) [ 20.635390][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4326) [ 20.635396][ C0] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:194) [ 20.635400][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4473) [ 20.635404][ C0] ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/preempt.h:104 ./include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194) [ 20.635409][ C0] ? __mod_timer (kernel/time/timer.c:1061) [ 20.635422][ C0] veth_poll (drivers/net/veth.c:977) [ 20.635426][ C0] ? __pfx_veth_poll (drivers/net/veth.c:965) [ 20.635438][ C0] ? addrconf_rs_timer (./arch/x86/include/asm/atomic.h:93 ./include/linux/atomic/atomic-arch-fallback.h:949 ./include/linux/atomic/atomic-instrumented.h:401 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 ./include/net/addrconf.h:416 net/ipv6/addrconf.c:4063) [ 20.635448][ C0] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 20.635453][ C0] ? validate_chain (kernel/locking/lockdep.c:3802 kernel/locking/lockdep.c:3822 kernel/locking/lockdep.c:3877) [ 20.635464][ C0] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 20.635467][ C0] ? validate_chain (kernel/locking/lockdep.c:3802 kernel/locking/lockdep.c:3822 kernel/locking/lockdep.c:3877) [ 20.635474][ C0] __napi_poll.constprop.0 (net/core/dev.c:7413) [ 20.635480][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:736) [ 20.635486][ C0] net_rx_action (net/core/dev.c:7477 net/core/dev.c:7599) [ 20.635498][ C0] ? __pfx_net_rx_action (net/core/dev.c:7561) [ 20.635501][ C0] ? sched_balance_domains (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 kernel/sched/fair.c:12258) [ 20.635519][ C0] ? __pfx_sched_balance_domains (kernel/sched/fair.c:12189) [ 20.635522][ C0] ? __lock_release (kernel/locking/lockdep.c:5534) [ 20.635533][ C0] handle_softirqs (kernel/softirq.c:579) [ 20.635548][ C0] __irq_exit_rcu (kernel/softirq.c:614 kernel/softirq.c:453 kernel/softirq.c:680) [ 20.635551][ C0] irq_exit_rcu (kernel/softirq.c:698) [ 20.635555][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1049 arch/x86/kernel/apic/apic.c:1049) [ 20.635562][ C0] [ 20.635562][ C0] [ 20.635565][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 20.635569][ C0] RIP: 0010:do_user_addr_fault (arch/x86/mm/fault.c:1293) [ 20.635576][ C0] Code: 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 b6 0a 00 00 41 f6 87 91 00 00 00 02 0f 84 82 04 00 00 e8 ef 3f 42 00 fb 0f 1f 44 00 00 <48> 89 e8 48 89 e9 4c 89 f2 83 e0 40 0f 95 c3 48 89 44 24 08 48 89 All code ======== 0: 48 89 fa mov %rdi,%rdx 3: 48 c1 ea 03 shr $0x3,%rdx 7: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) b: 0f 85 b6 0a 00 00 jne 0xac7 11: 41 f6 87 91 00 00 00 testb $0x2,0x91(%r15) 18: 02 19: 0f 84 82 04 00 00 je 0x4a1 1f: e8 ef 3f 42 00 call 0x424013 24: fb sti 25: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 2a:* 48 89 e8 mov %rbp,%rax <-- trapping instruction 2d: 48 89 e9 mov %rbp,%rcx 30: 4c 89 f2 mov %r14,%rdx 33: 83 e0 40 and $0x40,%eax 36: 0f 95 c3 setne %bl 39: 48 89 44 24 08 mov %rax,0x8(%rsp) 3e: 48 rex.W 3f: 89 .byte 0x89 Code starting with the faulting instruction =========================================== 0: 48 89 e8 mov %rbp,%rax 3: 48 89 e9 mov %rbp,%rcx 6: 4c 89 f2 mov %r14,%rdx 9: 83 e0 40 and $0x40,%eax c: 0f 95 c3 setne %bl f: 48 89 44 24 08 mov %rax,0x8(%rsp) 14: 48 rex.W 15: 89 .byte 0x89 [ 20.635578][ C0] RSP: 0000:ffffc900006a7eb8 EFLAGS: 00000202 [ 20.635582][ C0] RAX: 0000000000004b6b RBX: ffff888009984640 RCX: ffffffff94a48d5f [ 20.635584][ C0] RDX: 0000000000000000 RSI: ffffffff97f0b5e2 RDI: ffffffff976539c0 [ 20.635586][ C0] RBP: 0000000000000006 R08: 0000000000000001 R09: 0000000000000001 [ 20.635587][ C0] R10: ffffffff9946f097 R11: 0000000000000000 R12: 000000000044a000 [ 20.635589][ C0] R13: ffff88800c665040 R14: ffffc900006a7fe0 R15: ffffc900006a7f58 [ 20.635597][ C0] ? trace_irq_enable.constprop.0 (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/cpumask.h:587 ./include/linux/cpumask.h:1143 ./include/trace/events/preemptirq.h:40) [ 20.635607][ C0] ? do_user_addr_fault (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 arch/x86/mm/fault.c:1282) [ 20.635613][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:736) [ 20.635619][ C0] exc_page_fault (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:151 arch/x86/mm/fault.c:1488 arch/x86/mm/fault.c:1538) [ 20.635625][ C0] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:623) [ 20.635628][ C0] RIP: 0033:0x7fd8616d4a4c [ 20.635632][ C0] Code: 00 00 00 74 a0 83 f9 c0 0f 87 56 fe ff ff 62 e1 fe 28 6f 4e 01 48 29 fe 48 83 c7 3f 49 8d 0c 10 48 83 e7 c0 48 01 fe 48 29 f9 a4 62 c1 fe 28 7f 00 62 c1 fe 28 7f 48 01 c3 0f 1f 40 00 4c 8b All code ======== 0: 00 00 add %al,(%rax) 2: 00 74 a0 83 add %dh,-0x7d(%rax,%riz,4) 6: f9 stc 7: c0 0f 87 rorb $0x87,(%rdi) a: 56 push %rsi b: fe (bad) c: ff (bad) d: ff 62 e1 jmp *-0x1f(%rdx) 10: fe (bad) 11: 28 6f 4e sub %ch,0x4e(%rdi) 14: 01 48 29 add %ecx,0x29(%rax) 17: fe 48 83 decb -0x7d(%rax) 1a: c7 (bad) 1b: 3f (bad) 1c: 49 8d 0c 10 lea (%r8,%rdx,1),%rcx 20: 48 83 e7 c0 and $0xffffffffffffffc0,%rdi 24: 48 01 fe add %rdi,%rsi 27: 48 29 f9 sub %rdi,%rcx 2a:* f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) <-- trapping instruction 2c: 62 c1 fe 28 7f 00 vmovdqu64 %ymm16,(%r8) 32: 62 c1 fe 28 7f 48 01 vmovdqu64 %ymm17,0x20(%r8) 39: c3 ret 3a: 0f 1f 40 00 nopl 0x0(%rax) 3e: 4c rex.WR 3f: 8b .byte 0x8b Code starting with the faulting instruction =========================================== 0: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) 2: 62 c1 fe 28 7f 00 vmovdqu64 %ymm16,(%r8) 8: 62 c1 fe 28 7f 48 01 vmovdqu64 %ymm17,0x20(%r8) f: c3 ret 10: 0f 1f 40 00 nopl 0x0(%rax) 14: 4c rex.WR 15: 8b .byte 0x8b [ 20.635634][ C0] RSP: 002b:00007ffd6c2ccc68 EFLAGS: 00010202 [ 20.635637][ C0] RAX: 000000000044513c RBX: 0000000000000001 RCX: 000000000000b13b [ 20.635638][ C0] RDX: 000000000000ffff RSI: 000000000040a004 RDI: 000000000044a000 [ 20.635640][ C0] RBP: 00007ffd6c2ccdb0 R08: 000000000044513c R09: 00007ffd6c2ccc24 [ 20.635642][ C0] R10: 00007fd86161beb8 R11: 00007fd8616d4700 R12: 000000000000000a Finger prints: lockdep_rcu_suspicious:veth_xdp_rcv:veth_poll:net_rx_action:handle_softirqs