======================================
| [ 823.001569][ C0] #4: ffffffffb0391ec0 (rcu_read_lock){....}-{1:3}, at: ip_local_deliver_finish (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:840 (discriminator 2) net/ipv4/ip_input.c:240 (discriminator 2))
| [ 823.001868][ C0] #5: ff11000020ebafa8 (&vxlan->hash_lock){+.-.}-{3:3}, at: vxlan_snoop (./include/linux/spinlock.h:342 drivers/net/vxlan/vxlan_core.c:1487) vxlan
| [ 823.002171][ C0]
| [ 823.002171][ C0] stack backtrace:
[ 823.002359][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 823.002360][ C0] Call Trace:
[ 823.002362][ C0]
[ 823.002363][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120)
[ 823.002369][ C0] lockdep_rcu_suspicious.cold (kernel/locking/lockdep.c:6876)
[ 823.002374][ C0] vxlan_fdb_create (drivers/net/vxlan/vxlan_core.c:872 (discriminator 8)) vxlan
[ 823.002380][ C0] ? vxlan_find_mac_rcu (./include/linux/rhashtable.h:648 (discriminator 8) ./include/linux/rhashtable.h:673 (discriminator 8) drivers/net/vxlan/vxlan_core.c:396 (discriminator 8)) vxlan
[ 823.002386][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 823.002389][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350)
[ 823.002392][ C0] ? vxlan_open (drivers/net/vxlan/vxlan_core.c:3030) vxlan
[ 823.002396][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535)
[ 823.002401][ C0] vxlan_fdb_update (drivers/net/vxlan/vxlan_core.c:1095 drivers/net/vxlan/vxlan_core.c:1138) vxlan
[ 823.002407][ C0] ? vxlan_fdb_create (./arch/x86/include/asm/bitops.h:202 (discriminator 1)) vxlan
[ 823.002410][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 823.002413][ C0] ? do_raw_spin_lock (./include/linux/instrumented.h:55 ./include/linux/atomic/atomic-instrumented.h:1301 ./include/asm-generic/qspinlock.h:111 kernel/locking/spinlock_debug.c:116)
[ 823.002417][ C0] vxlan_snoop (drivers/net/vxlan/vxlan_core.c:1491) vxlan
[ 823.002423][ C0] ? __iptunnel_pull_header (net/ipv4/ip_tunnel_core.c:136)
[ 823.002427][ C0] vxlan_rcv (drivers/net/vxlan/vxlan_core.c:1634 (discriminator 1) drivers/net/vxlan/vxlan_core.c:1772 (discriminator 1)) vxlan
[ 823.002435][ C0] ? encap_bypass_if_local (drivers/net/vxlan/vxlan_core.c:2353) vxlan
[ 823.002440][ C0] ? udp_lib_lport_inuse2 (net/ipv4/udp.c:179 (discriminator 1))
[ 823.002447][ C0] ? __udp4_lib_lookup (net/ipv4/udp.c:714)
[ 823.002450][ C0] ? encap_bypass_if_local (drivers/net/vxlan/vxlan_core.c:2353) vxlan
[ 823.002454][ C0] ? udp_queue_rcv_one_skb (net/ipv4/udp.c:2389)
[ 823.002456][ C0] udp_queue_rcv_one_skb (net/ipv4/udp.c:2389)
[ 823.002457][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 823.002459][ C0] ? down_read_killable_nested (kernel/locking/rwsem.c:205 kernel/locking/rwsem.c:1295 kernel/locking/rwsem.c:1314 kernel/locking/rwsem.c:1720)
[ 823.002462][ C0] udp_unicast_rcv_skb (net/ipv4/udp.c:2577)
[ 823.002465][ C0] ? udp_rcv (net/ipv4/udp.c:742 (discriminator 3) net/ipv4/udp.c:2652 (discriminator 3))
[ 823.002466][ C0] udp_rcv (net/ipv4/udp.c:2654)
[ 823.002471][ C0] ? udp_sk_rx_dst_set (net/ipv4/udp.c:2452 (discriminator 1))
[ 823.002474][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 823.002476][ C0] ? ip_local_deliver_finish (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:840 (discriminator 2) net/ipv4/ip_input.c:240 (discriminator 2))
[ 823.002480][ C0] ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207)
[ 823.002487][ C0] ? process_backlog (./include/linux/local_lock_internal.h:62 (discriminator 2) net/core/dev.c:6667 (discriminator 2))
[ 823.002489][ C0] ip_local_deliver_finish (net/ipv4/ip_input.c:241 (discriminator 1))
[ 823.002491][ C0] ip_local_deliver (./include/linux/netfilter.h:325 ./include/linux/netfilter.h:319 net/ipv4/ip_input.c:262)
[ 823.002494][ C0] ? ip_local_deliver_finish (net/ipv4/ip_input.c:232 (discriminator 42))
[ 823.002496][ C0] ? ip_rcv_finish_core (net/ipv4/ip_input.c:407 (discriminator 1))
[ 823.002498][ C0] ? __asan_memset (mm/kasan/shadow.c:84 (discriminator 1))
[ 823.002504][ C0] ? process_backlog (./include/linux/local_lock_internal.h:62 (discriminator 2) net/core/dev.c:6667 (discriminator 2))
[ 823.002506][ C0] ip_rcv (./include/linux/netfilter.h:325 ./include/linux/netfilter.h:319 net/ipv4/ip_input.c:612)
[ 823.002508][ C0] ? ip_local_deliver (./include/linux/rcupdate.h:869 (discriminator 3))
[ 823.002509][ C0] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2))
[ 823.002512][ C0] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2))
[ 823.002515][ C0] ? mark_usage (kernel/locking/lockdep.c:4674)
[ 823.002517][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237)
[ 823.002521][ C0] __netif_receive_skb_one_core (net/core/dev.c:6228)
[ 823.002523][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 823.002526][ C0] ? __netif_receive_skb_list_core (net/core/dev.c:6274 (discriminator 2))
[ 823.002528][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 823.002533][ C0] process_backlog (net/core/dev.c:6669)
[ 823.002538][ C0] __napi_poll (net/core/dev.c:7728)
[ 823.002540][ C0] net_rx_action (net/core/dev.c:7791 net/core/dev.c:7948)
[ 823.002545][ C0] ? __napi_poll (./include/net/gro.h:507)
[ 823.002554][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325)
[ 823.002558][ C0] handle_softirqs (kernel/softirq.c:622)
[ 823.002563][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1))
[ 823.002565][ C0] ? 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)
[ 823.002567][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 823.002570][ C0] do_softirq (kernel/softirq.c:523 (discriminator 19) kernel/softirq.c:510 (discriminator 19))
[ 823.002572][ C0]
[ 823.002573][ C0]
[ 823.002573][ C0] __local_bh_enable_ip (kernel/softirq.c:450)
[ 823.002576][ C0] __neigh_event_send (./include/linux/bottom_half.h:33 (discriminator 2) net/core/neighbour.c:1276 (discriminator 2))
[ 823.002578][ C0] ? warn_bogus_irq_restore (kernel/locking/irqflag-debug.c:8)
[ 823.002584][ C0] ? sync_exp_reset_tree_hotplug (kernel/rcu/tree_exp.h:114)
[ 823.002587][ C0] neigh_resolve_output (./include/net/neighbour.h:480 ./include/net/neighbour.h:486 ./include/net/neighbour.h:484 net/core/neighbour.c:1600)
[ 823.002589][ C0] ip_finish_output2 (./include/net/neighbour.h:560 (discriminator 3) net/ipv4/ip_output.c:236 (discriminator 3))
[ 823.002592][ C0] ? ip_dst_mtu_maybe_forward (./include/linux/rcupdate.h:873 ./include/net/ip.h:504)
[ 823.002595][ C0] ? ip4_dst_hoplimit (./include/net/dst.h:582 (discriminator 4) ./include/net/dst.h:587 (discriminator 4) ./include/net/route.h:393 (discriminator 4))
[ 823.002597][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 823.002601][ C0] ip_output (./include/linux/netfilter.h:314 net/ipv4/ip_output.c:437)
[ 823.002604][ C0] ? ip_finish_output (./include/linux/cgroup.h:868)
[ 823.002606][ C0] ? __ip_make_skb (net/ipv4/ip_output.c:1386 net/ipv4/ip_output.c:1497)
[ 823.002612][ C0] ip_push_pending_frames (./include/net/dst.h:470 (discriminator 4) net/ipv4/ip_output.c:131 (discriminator 4) net/ipv4/ip_output.c:1506 (discriminator 4) net/ipv4/ip_output.c:1526 (discriminator 4))
[ 823.002615][ C0] raw_sendmsg (net/ipv4/raw.c:657)
[ 823.002618][ C0] ? mark_lock (kernel/locking/lockdep.c:4766 (discriminator 1))
[ 823.002621][ C0] ? raw_send_hdrinc (./include/net/ip.h:581 (discriminator 1))
[ 823.002623][ C0] ? folio_add_lru_vma (mm/swap.c:581)
[ 823.002627][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4069 (discriminator 3) kernel/rcu/tree.c:4061 (discriminator 3))
[ 823.002631][ C0] ? rcu_read_unlock (./include/linux/rcupdate.h:869 (discriminator 5))
[ 823.002636][ C0] ? wp_page_copy (./arch/x86/include/asm/atomic.h:23 ./include/linux/atomic/atomic-arch-fallback.h:457 ./include/linux/atomic/atomic-instrumented.h:33 ./include/linux/page_ref.h:67 ./include/linux/mm.h:1810 ./include/linux/mm.h:1816 ./include/linux/mm.h:2123 mm/memory.c:3989)
[ 823.002639][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 823.002641][ C0] ? __might_fault (mm/memory.c:7292 (discriminator 5))
[ 823.002646][ C0] ? __might_fault (mm/memory.c:7292 (discriminator 5))
[ 823.002648][ C0] ? __might_fault (mm/memory.c:7292 (discriminator 5))
[ 823.002651][ C0] __sys_sendto (net/socket.c:775 (discriminator 4) net/socket.c:790 (discriminator 4) net/socket.c:2252 (discriminator 4))
[ 823.002655][ C0] ? __ia32_sys_getpeername (net/socket.c:2206)
[ 823.002656][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5574)
[ 823.002665][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1483 arch/x86/mm/fault.c:1536)
[ 823.002670][ C0] __x64_sys_sendto (net/socket.c:2259 net/socket.c:2255 net/socket.c:2255)
[ 823.002672][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22))
[ 823.002675][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472)
[ 823.002677][ C0] ? do_syscall_64 (./include/linux/entry-common.h:177 arch/x86/entry/syscall_64.c:89)
[ 823.002679][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94)
[ 823.002681][ C0] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1))
[ 823.002683][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1489 (discriminator 3) arch/x86/mm/fault.c:1536 (discriminator 3))
[ 823.002685][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)
[ 823.002687][ C0] RIP: 0033:0x7f5dd5a1254e
[ 823.002691][ C0] Code: 4d 89 d8 e8 b4 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa
All code
========
0: 4d 89 d8 mov %r11,%r8
3: e8 b4 bd 00 00 call 0xbdbc
8: 4c 8b 5d f8 mov -0x8(%rbp),%r11
c: 41 8b 93 08 03 00 00 mov 0x308(%r11),%edx
13: 59 pop %rcx
14: 5e pop %rsi
15: 48 83 f8 fc cmp $0xfffffffffffffffc,%rax
19: 74 11 je 0x2c
1b: c9 leave
1c: c3 ret
1d: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
24: 48 8b 45 10 mov 0x10(%rbp),%rax
28: 0f 05 syscall
2a:* c9 leave <-- trapping instruction
2b: c3 ret
2c: 83 e2 39 and $0x39,%edx
2f: 83 fa 08 cmp $0x8,%edx
32: 75 e7 jne 0x1b
34: e8 03 ff ff ff call 0xffffffffffffff3c
39: 0f 1f 00 nopl (%rax)
3c: f3 0f 1e fa endbr64
Code starting with the faulting instruction
===========================================
0: c9 leave
1: c3 ret
2: 83 e2 39 and $0x39,%edx
5: 83 fa 08 cmp $0x8,%edx
8: 75 e7 jne 0xfffffffffffffff1
a: e8 03 ff ff ff call 0xffffffffffffff12
f: 0f 1f 00 nopl (%rax)
12: f3 0f 1e fa endbr64
[ 823.002693][ C0] RSP: 002b:00007fffe0895aa0 EFLAGS: 00000202 ORIG_RAX: 000000000000002c
[ 823.002695][ C0] RAX: ffffffffffffffda RBX: 0000000000000040 RCX: 00007f5dd5a1254e
[ 823.002697][ C0] RDX: 0000000000000040 RSI: 0000562a0b6070a4 RDI: 0000000000000005
[ 823.002697][ C0] RBP: 00007fffe0895ab0 R08: 0000562a0b619320 R09: 0000000000000010
[ 823.002698][ C0] R10: 0000000000000000 R11: 0000000000000202 R12: 431bde82d7b634db
Finger prints:
vxlan_fdb_create:vxlan_fdb_update:vxlan_snoop:vxlan_rcv:udp_queue_rcv_one_skb