================================ WARNING: inconsistent lock state 4.18.0+ #189 Not tainted -------------------------------- inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. syz-executor2/2341 [HC0[0]:SC0[0]:HE1:SE1] takes: 000000002b405554 (&(&tlocks[i])->rlock){+.?.}, at: spin_lock include/linux/spinlock.h:329 [inline] 000000002b405554 (&(&tlocks[i])->rlock){+.?.}, at: ila_del_mapping net/ipv6/ila/ila_xlat.c:290 [inline] 000000002b405554 (&(&tlocks[i])->rlock){+.?.}, at: ila_xlat_nl_cmd_del_mapping+0x46b/0xb00 net/ipv6/ila/ila_xlat.c:368 {IN-SOFTIRQ-W} state was registered at: lock_acquire+0x1e4/0x540 kernel/locking/lockdep.c:3924 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:168 spin_lock_bh include/linux/spinlock.h:334 [inline] __rhashtable_insert_fast include/linux/rhashtable.h:596 [inline] rhashtable_lookup_insert_fast include/linux/rhashtable.h:784 [inline] fdb_create+0x5cc/0x1710 net/bridge/br_fdb.c:508 br_fdb_update+0x4e7/0xd40 net/bridge/br_fdb.c:605 br_handle_frame_finish+0xa23/0x1960 net/bridge/br_input.c:97 br_nf_hook_thresh+0x48d/0x5f0 net/bridge/br_netfilter_hooks.c:1011 br_nf_pre_routing_finish_ipv6+0x7bc/0xef0 net/bridge/br_netfilter_ipv6.c:209 NF_HOOK include/linux/netfilter.h:287 [inline] br_nf_pre_routing_ipv6+0x4af/0xac0 net/bridge/br_netfilter_ipv6.c:237 br_nf_pre_routing+0xb33/0x17d0 net/bridge/br_netfilter_hooks.c:494 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline] nf_hook_slow+0xc2/0x1c0 net/netfilter/core.c:511 nf_hook include/linux/netfilter.h:242 [inline] NF_HOOK include/linux/netfilter.h:285 [inline] br_handle_frame+0xc0d/0x1a20 net/bridge/br_input.c:303 __netif_receive_skb_core+0x1455/0x3af0 net/core/dev.c:4821 __netif_receive_skb_one_core+0xd0/0x200 net/core/dev.c:4890 __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:5002 process_backlog+0x219/0x760 net/core/dev.c:5808 napi_poll net/core/dev.c:6228 [inline] net_rx_action+0x7a5/0x1920 net/core/dev.c:6294 __do_softirq+0x2eb/0xb1e kernel/softirq.c:292 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1047 do_softirq.part.18+0x157/0x1a0 kernel/softirq.c:336 do_softirq arch/x86/include/asm/preempt.h:23 [inline] __local_bh_enable_ip+0x1ee/0x230 kernel/softirq.c:189 local_bh_enable include/linux/bottom_half.h:32 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:723 [inline] ip6_finish_output2+0xce8/0x2820 net/ipv6/ip6_output.c:121 ip6_finish_output+0x5fe/0xbc0 net/ipv6/ip6_output.c:154 NF_HOOK_COND include/linux/netfilter.h:276 [inline] ip6_output+0x234/0x9d0 net/ipv6/ip6_output.c:171 dst_output include/net/dst.h:444 [inline] NF_HOOK include/linux/netfilter.h:287 [inline] mld_sendpack+0xaeb/0xfc0 net/ipv6/mcast.c:1683 mld_send_initial_cr.part.29+0x114/0x160 net/ipv6/mcast.c:2100 mld_send_initial_cr net/ipv6/mcast.c:2113 [inline] ipv6_mc_dad_complete+0x1a8/0x1f0 net/ipv6/mcast.c:2107 addrconf_dad_completed+0x9da/0xbf0 net/ipv6/addrconf.c:4116 addrconf_dad_work+0x77b/0x1310 net/ipv6/addrconf.c:4047 process_one_work+0xc73/0x1ba0 kernel/workqueue.c:2153 worker_thread+0x189/0x13c0 kernel/workqueue.c:2296 kthread+0x35a/0x420 kernel/kthread.c:246 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:413 irq event stamp: 113 hardirqs last enabled at (113): [] restore_regs_and_return_to_kernel+0x0/0x2b hardirqs last disabled at (111): [] __do_softirq+0x637/0xb1e kernel/softirq.c:305 softirqs last enabled at (112): [] __do_softirq+0x787/0xb1e kernel/softirq.c:318 softirqs last disabled at (105): [] invoke_softirq kernel/softirq.c:372 [inline] softirqs last disabled at (105): [] irq_exit+0x1d6/0x210 kernel/softirq.c:412 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&(&tlocks[i])->rlock); lock(&(&tlocks[i])->rlock); *** DEADLOCK *** 1 lock held by syz-executor2/2341: #0: 00000000cc19977f (cb_lock){++++}, at: genl_rcv+0x19/0x40 net/netlink/genetlink.c:636 stack backtrace: CPU: 1 PID: 2341 Comm: syz-executor2 Not tainted 4.18.0+ #189 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113 print_usage_bug.cold.63+0x320/0x41a kernel/locking/lockdep.c:2546 valid_state kernel/locking/lockdep.c:2559 [inline] mark_lock_irq kernel/locking/lockdep.c:2753 [inline] mark_lock+0x1048/0x19f0 kernel/locking/lockdep.c:3151 mark_irqflags kernel/locking/lockdep.c:3047 [inline] __lock_acquire+0x7ca/0x5020 kernel/locking/lockdep.c:3392 lock_acquire+0x1e4/0x540 kernel/locking/lockdep.c:3924 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:144 spin_lock include/linux/spinlock.h:329 [inline] ila_del_mapping net/ipv6/ila/ila_xlat.c:290 [inline] ila_xlat_nl_cmd_del_mapping+0x46b/0xb00 net/ipv6/ila/ila_xlat.c:368 genl_family_rcv_msg+0x8a3/0x1140 net/netlink/genetlink.c:601 genl_rcv_msg+0xc6/0x168 net/netlink/genetlink.c:626 netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2454 genl_rcv+0x28/0x40 net/netlink/genetlink.c:637 netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline] netlink_unicast+0x5a0/0x760 net/netlink/af_netlink.c:1343 netlink_sendmsg+0xa18/0xfc0 net/netlink/af_netlink.c:1908 sock_sendmsg_nosec net/socket.c:621 [inline] sock_sendmsg+0xd5/0x120 net/socket.c:631 ___sys_sendmsg+0x7fd/0x930 net/socket.c:2114 __sys_sendmsg+0x11d/0x290 net/socket.c:2152 __do_sys_sendmsg net/socket.c:2161 [inline] __se_sys_sendmsg net/socket.c:2159 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2159 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x457089 Code: fd b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 cb b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fbd93b3dc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007fbd93b3e6d4 RCX: 0000000000457089 RDX: 0000000000000000 RSI: 0000000020000040 RDI: 0000000000000003 RBP: 00000000009300a0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 00000000004d4088 R14: 00000000004c8ab0 R15: 0000000000000000 netlink: 'syz-executor2': attribute type 3 has an invalid length. netlink: 'syz-executor2': attribute type 2 has an invalid length. netlink: 'syz-executor2': attribute type 3 has an invalid length. netlink: 'syz-executor2': attribute type 2 has an invalid length. netlink: 'syz-executor2': attribute type 1 has an invalid length. netlink: 'syz-executor2': attribute type 3 has an invalid length. netlink: 'syz-executor0': attribute type 1 has an invalid length. netlink: 'syz-executor2': attribute type 3 has an invalid length. netlink: 'syz-executor2': attribute type 2 has an invalid length. netlink: 'syz-executor2': attribute type 3 has an invalid length. A link change request failed with some changes committed already. Interface veth0_to_bond may have been left with an inconsistent configuration, please check. (unnamed net_device) (uninitialized): option tlb_dynamic_lb: mode dependency failed, not supported in mode balance-rr(0) A link change request failed with some changes committed already. Interface veth0_to_bond may have been left with an inconsistent configuration, please check. netlink: 20 bytes leftover after parsing attributes in process `syz-executor5'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor5'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor1'. netlink: 17 bytes leftover after parsing attributes in process `syz-executor3'. syz-executor1[2857] is installing a program with bpf_probe_write_user helper that may corrupt user memory! syz-executor1[2857] is installing a program with bpf_probe_write_user helper that may corrupt user memory! netlink: set zone limit has 4 unknown bytes netlink: set zone limit has 4 unknown bytes netlink: 4 bytes leftover after parsing attributes in process `syz-executor6'. netlink: 4 bytes leftover after parsing attributes in process `syz-executor6'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor6'.