====================================== | [ 1584.747245][ T8986] 1 lock held by ip/8986: | [ 1584.747389][ T8986] #0: ffffffff998a2728 (rtnl_mutex){+.+.}-{4:4}, at: rtm_new_nexthop (net/ipv4/nexthop.c:3222 net/ipv4/nexthop.c:3277) | [ 1584.747680][ T8986] | [ 1584.747680][ T8986] stack backtrace: [ 1584.747892][ T8986] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1584.747894][ T8986] Call Trace: [ 1584.747896][ T8986] [ 1584.747898][ T8986] dump_stack_lvl (lib/dump_stack.c:122) [ 1584.747905][ T8986] lockdep_rcu_suspicious.cold (kernel/locking/lockdep.c:6877) [ 1584.747910][ T8986] fib6_update_sernum (net/ipv6/ip6_fib.c:111 (discriminator 10)) [ 1584.747915][ T8986] nh_rt_cache_flush (net/ipv4/nexthop.c:2211 (discriminator 4)) [ 1584.747919][ T8986] replace_nexthop (net/ipv4/nexthop.c:2577) [ 1584.747923][ T8986] insert_nexthop (net/ipv4/nexthop.c:2612) [ 1584.747926][ T8986] ? nexthop_create (net/ipv4/nexthop.c:2930) [ 1584.747929][ T8986] rtm_new_nexthop (net/ipv4/nexthop.c:2977 net/ipv4/nexthop.c:3281) [ 1584.747933][ T8986] ? insert_nexthop (net/ipv4/nexthop.c:3252) [ 1584.747934][ T8986] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 1584.747937][ T8986] ? find_held_lock (kernel/locking/lockdep.c:5350 (discriminator 1)) [ 1584.747944][ T8986] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 1584.747945][ T8986] ? find_held_lock (kernel/locking/lockdep.c:5350 (discriminator 1)) [ 1584.747951][ T8986] ? find_held_lock (kernel/locking/lockdep.c:5350 (discriminator 1)) [ 1584.747953][ T8986] ? insert_nexthop (net/ipv4/nexthop.c:3252) [ 1584.747955][ T8986] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5536) [ 1584.747958][ T8986] ? insert_nexthop (net/ipv4/nexthop.c:3252) [ 1584.747960][ T8986] rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) [ 1584.747965][ T8986] ? rtnl_fdb_dump (net/core/rtnetlink.c:6861) [ 1584.747967][ T8986] ? __lock_acquire (kernel/locking/lockdep.c:5237 (discriminator 1)) [ 1584.747971][ T8986] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 1584.747972][ T8986] ? find_held_lock (kernel/locking/lockdep.c:5350 (discriminator 1)) [ 1584.747976][ T8986] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 1584.747978][ T8986] ? rtnl_fdb_dump (net/core/rtnetlink.c:6861) [ 1584.747982][ T8986] ? netlink_ack (net/netlink/af_netlink.c:2527) [ 1584.747987][ T8986] ? netlink_deliver_tap (./include/linux/rcupdate.h:322 (discriminator 1) ./include/linux/rcupdate.h:881 (discriminator 1) ./include/net/netns/generic.h:48 (discriminator 1) net/netlink/af_netlink.c:333 (discriminator 1)) [ 1584.747988][ T8986] ? netlink_deliver_tap (./include/linux/rcupdate.h:322 (discriminator 1) ./include/linux/rcupdate.h:881 (discriminator 1) net/netlink/af_netlink.c:340 (discriminator 1)) [ 1584.747992][ T8986] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 1584.747995][ T8986] ? netlink_attachskb (net/netlink/af_netlink.c:1329) [ 1584.747996][ T8986] ? __alloc_skb (./include/linux/bottom_half.h:20 (discriminator 1) net/core/skbuff.c:695 (discriminator 1)) [ 1584.747999][ T8986] ? napi_skb_cache_get (net/core/skbuff.c:674) [ 1584.748001][ T8986] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 1584.748003][ T8986] ? __lock_acquire (kernel/locking/lockdep.c:5237 (discriminator 1)) [ 1584.748006][ T8986] netlink_sendmsg (net/netlink/af_netlink.c:1894) [ 1584.748009][ T8986] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 1584.748013][ T8986] ? __might_fault (mm/memory.c:7218 (discriminator 4)) [ 1584.748018][ T8986] ____sys_sendmsg (net/socket.c:721 (discriminator 4) net/socket.c:736 (discriminator 4) net/socket.c:2585 (discriminator 4)) [ 1584.748021][ T8986] ? copy_msghdr_from_user (net/socket.c:2525) [ 1584.748022][ T8986] ? get_timestamp.constprop.0 (net/socket.c:2531) [ 1584.748024][ T8986] ? move_addr_to_kernel (net/socket.c:2511) [ 1584.748027][ T8986] ? stack_depot_save_flags (lib/stackdepot.c:609 (discriminator 4) lib/stackdepot.c:676 (discriminator 4)) [ 1584.748031][ T8986] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 (discriminator 1) kernel/rcu/update.c:380 (discriminator 1)) [ 1584.748036][ T8986] ___sys_sendmsg (net/socket.c:2641) [ 1584.748038][ T8986] ? __call_rcu_common.constprop.0 (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:127 kernel/rcu/tree.c:3133) [ 1584.748041][ T8986] ? copy_msghdr_from_user (net/socket.c:2628) [ 1584.748058][ T8986] __sys_sendmsg (net/socket.c:2671 (discriminator 1)) [ 1584.748061][ T8986] ? __sys_sendmsg_sock (net/socket.c:2656) [ 1584.748063][ T8986] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4473) [ 1584.748067][ T8986] ? __call_rcu_common.constprop.0 (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:151 kernel/rcu/tree.c:3156) [ 1584.748072][ T8986] ? do_raw_spin_unlock (./arch/x86/include/asm/atomic.h:23 ./include/linux/atomic/atomic-arch-fallback.h:457 ./include/linux/atomic/atomic-instrumented.h:33 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 1584.748074][ T8986] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 1) kernel/rcu/tree.c:752 (discriminator 1)) [ 1584.748078][ T8986] do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) [ 1584.748080][ T8986] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 1584.748082][ T8986] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 1584.748085][ T8986] RIP: 0033:0x7f0fab2c0c5e [ 1584.748089][ T8986] Code: 4d 89 d8 e8 34 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 13 ff ff ff 0f 1f 00 f3 0f 1e fa All code ======== 0: 4d 89 d8 mov %r11,%r8 3: e8 34 bd 00 00 call 0xbd3c 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 13 ff ff ff call 0xffffffffffffff4c 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 13 ff ff ff call 0xffffffffffffff22 f: 0f 1f 00 nopl (%rax) 12: f3 0f 1e fa endbr64 [ 1584.748090][ T8986] RSP: 002b:00007ffe9e6d40b0 EFLAGS: 00000202 ORIG_RAX: 000000000000002e [ 1584.748094][ T8986] RAX: ffffffffffffffda RBX: 000000000048a950 RCX: 00007f0fab2c0c5e [ 1584.748095][ T8986] RDX: 0000000000000000 RSI: 00007ffe9e6d4170 RDI: 0000000000000005 [ 1584.748096][ T8986] RBP: 00007ffe9e6d40c0 R08: 0000000000000000 R09: 0000000000000000 [ 1584.748097][ T8986] R10: 0000000000000000 R11: 0000000000000202 R12: 00007ffe9e6d6895 Finger prints: fib6_update_sernum:nh_rt_cache_flush:replace_nexthop:insert_nexthop:rtm_new_nexthop