===================================== WARNING: bad unlock balance detected! 4.16.0-rc2+ #323 Not tainted ------------------------------------- kworker/1:1/23 is trying to release lock (rcu_read_lock_bh) at: [] rcu_read_unlock_bh include/linux/rcupdate.h:722 [inline] [] hashlimit_mt_common.isra.10+0x1beb/0x2610 net/netfilter/xt_hashlimit.c:777 but there are no more locks to release! other info that might help us debug this: 5 locks held by kworker/1:1/23: #0: ((wq_completion)"events_power_efficient"){+.+.}, at: [<000000001c0e18b0>] process_one_work+0xaaf/0x1af0 kernel/workqueue.c:2084 #1: ((work_completion)(&(&hinfo->gc_work)->work)){+.+.}, at: [<000000001cd6cded>] process_one_work+0xb01/0x1af0 kernel/workqueue.c:2088 #2: ((&ndev->rs_timer)){+.-.}, at: [<000000006e2b2ed0>] lockdep_copy_map include/linux/lockdep.h:178 [inline] #2: ((&ndev->rs_timer)){+.-.}, at: [<000000006e2b2ed0>] call_timer_fn+0x1c6/0x820 kernel/time/timer.c:1316 #3: (rcu_read_lock){....}, at: [<00000000758c3a6a>] ip6_nd_hdr net/ipv6/ndisc.c:449 [inline] #3: (rcu_read_lock){....}, at: [<00000000758c3a6a>] ndisc_send_skb+0x826/0x1370 net/ipv6/ndisc.c:485 #4: (rcu_read_lock){....}, at: [<00000000236ed946>] nf_hook.constprop.27+0x0/0x830 net/ipv6/ndisc.c:387 stack backtrace: CPU: 1 PID: 23 Comm: kworker/1:1 Not tainted 4.16.0-rc2+ #323 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events_power_efficient htable_gc Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 print_unlock_imbalance_bug+0x12f/0x140 kernel/locking/lockdep.c:3484 __lock_release kernel/locking/lockdep.c:3691 [inline] lock_release+0x6fe/0xa40 kernel/locking/lockdep.c:3939 rcu_lock_release include/linux/rcupdate.h:249 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:724 [inline] hashlimit_mt_common.isra.10+0x1c08/0x2610 net/netfilter/xt_hashlimit.c:777 hashlimit_mt+0x78/0x90 net/netfilter/xt_hashlimit.c:846 ip6t_do_table+0x98d/0x1a30 net/ipv6/netfilter/ip6_tables.c:319 ip6table_raw_hook+0x65/0x80 net/ipv6/netfilter/ip6table_raw.c:42 nf_hook_entry_hookfn include/linux/netfilter.h:120 [inline] nf_hook_slow+0xba/0x1a0 net/netfilter/core.c:483 nf_hook.constprop.27+0x3f6/0x830 include/linux/netfilter.h:243 NF_HOOK include/linux/netfilter.h:286 [inline] ndisc_send_skb+0xa51/0x1370 net/ipv6/ndisc.c:491 ndisc_send_rs+0x126/0x670 net/ipv6/ndisc.c:685 addrconf_rs_timer+0x363/0x6b0 net/ipv6/addrconf.c:3769 call_timer_fn+0x228/0x820 kernel/time/timer.c:1326 expire_timers kernel/time/timer.c:1363 [inline] __run_timers+0x7ee/0xb70 kernel/time/timer.c:1666 run_timer_softirq+0x4c/0x70 kernel/time/timer.c:1692 __do_softirq+0x2d7/0xb85 kernel/softirq.c:285 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1011 do_softirq.part.19+0x14d/0x190 kernel/softirq.c:329 do_softirq kernel/softirq.c:177 [inline] __local_bh_enable_ip+0x1ee/0x230 kernel/softirq.c:182 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:176 [inline] _raw_spin_unlock_bh+0x30/0x40 kernel/locking/spinlock.c:200 spin_unlock_bh include/linux/spinlock.h:355 [inline] htable_selective_cleanup+0x289/0x3d0 net/netfilter/xt_hashlimit.c:380 htable_gc+0x2e/0xc0 net/netfilter/xt_hashlimit.c:391 process_one_work+0xbbf/0x1af0 kernel/workqueue.c:2113 worker_thread+0x223/0x1990 kernel/workqueue.c:2247 kthread+0x33c/0x400 kernel/kthread.c:238 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:407