===================================== WARNING: bad unlock balance detected! 4.16.0-rc2+ #322 Not tainted ------------------------------------- syzkaller088773/4162 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: 9 locks held by syzkaller088773/4162: #0: (sb_writers#4){.+.+}, at: [<00000000360bf6cd>] sb_start_write include/linux/fs.h:1547 [inline] #0: (sb_writers#4){.+.+}, at: [<00000000360bf6cd>] mnt_want_write+0x3f/0xb0 fs/namespace.c:386 #1: (&type->i_mutex_dir_key/1){+.+.}, at: [<00000000ba67abab>] inode_lock_nested include/linux/fs.h:748 [inline] #1: (&type->i_mutex_dir_key/1){+.+.}, at: [<00000000ba67abab>] do_rmdir+0x380/0x5f0 fs/namei.c:3906 #2: (sb_internal){.+.+}, at: [<00000000b4aba19c>] sb_start_intwrite include/linux/fs.h:1594 [inline] #2: (sb_internal){.+.+}, at: [<00000000b4aba19c>] ext4_evict_inode+0x5e3/0x17d0 fs/ext4/inode.c:250 #3: (jbd2_handle){.+.+}, at: [<0000000026534546>] start_this_handle+0x488/0x1080 fs/jbd2/transaction.c:385 #4: (&ei->i_data_sem){++++}, at: [<00000000052f49ce>] ext4_truncate+0xd58/0x1460 fs/ext4/inode.c:4452 #5: (&ei->i_es_lock){++++}, at: [<00000000d672d294>] ext4_es_remove_extent+0xdb/0x460 fs/ext4/extents_status.c:966 #6: ((&ndev->rs_timer)){+.-.}, at: [<00000000155d4592>] lockdep_copy_map include/linux/lockdep.h:178 [inline] #6: ((&ndev->rs_timer)){+.-.}, at: [<00000000155d4592>] call_timer_fn+0x1c6/0x820 kernel/time/timer.c:1316 #7: (rcu_read_lock){....}, at: [<0000000092a6de1e>] ip6_nd_hdr net/ipv6/ndisc.c:449 [inline] #7: (rcu_read_lock){....}, at: [<0000000092a6de1e>] ndisc_send_skb+0x826/0x1370 net/ipv6/ndisc.c:485 #8: (rcu_read_lock){....}, at: [<000000009e6dc75c>] nf_hook.constprop.27+0x0/0x830 net/ipv6/ndisc.c:387 stack backtrace: CPU: 1 PID: 4162 Comm: syzkaller088773 Not tainted 4.16.0-rc2+ #322 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 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 invoke_softirq kernel/softirq.c:365 [inline] irq_exit+0x1cc/0x200 kernel/softirq.c:405 exiting_irq arch/x86/include/asm/apic.h:541 [inline] smp_apic_timer_interrupt+0x16b/0x700 arch/x86/kernel/apic/apic.c:1052 apic_timer_interrupt+0x8e/0xa0 arch/x86/entry/entry_64.S:796 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:777 [inline] RIP: 0010:kmem_cache_free+0xf2/0x2a0 mm/slab.c:3744 RSP: 0018:ffff8801b2376fa8 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff12 RAX: 0000000000000007 RBX: ffff8801d50a2ac0 RCX: 0000000000000006 RDX: 0000000000000000 RSI: 1ffff10035f5218c RDI: 0000000000000282 RBP: ffff8801b2376fc8 R08: 1ffff1003646edc3 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801a8919348 R13: 0000000000000282 R14: ffffffff81daee33 R15: ffff8801a895f930 ext4_es_free_extent+0x293/0x7e0 fs/ext4/extents_status.c:371 __es_remove_extent+0x786/0xa60 fs/ext4/extents_status.c:916 ext4_es_remove_extent+0xe9/0x460 fs/ext4/extents_status.c:967 ext4_ext_truncate+0x166/0x1f0 fs/ext4/extents.c:4629 ext4_truncate+0xda1/0x1460 fs/ext4/inode.c:4457 ext4_evict_inode+0x97e/0x17d0 fs/ext4/inode.c:289 evict+0x481/0x920 fs/inode.c:553 iput_final fs/inode.c:1515 [inline] iput+0x7b9/0xaf0 fs/inode.c:1542 dentry_unlink_inode+0x4b0/0x5e0 fs/dcache.c:371 d_delete+0x1ca/0x280 fs/dcache.c:2393 vfs_rmdir+0x32d/0x410 fs/namei.c:3870 do_rmdir+0x4c8/0x5f0 fs/namei.c:3918 SYSC_rmdir fs/namei.c:3936 [inline] SyS_rmdir+0x1a/0x20 fs/namei.c:3934 do_syscall_64+0x280/0x940 arch/x86/entry/common.c:287 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x442d37 RSP: 002b:00007ffc9f754a28 EFLAGS: 00000207 ORIG_RAX: 0000000000000054 RAX: ffffffffffffffda RBX: 0000000000000065 RCX: 0000000000442d37 RDX: 0000000000000000 RSI: 00000000006d55f8 RDI: 00007ffc9f756240 RBP: 00000000022ad8a0 R08: 0000000000000000 R09: 0000000000000001 R10: 0000000000000000 R11: 0000000000000207 R12: 00007ffc9f756240 R13: 0000000000000000 R14: 00000000000011af R15: 00007ffc9f755c38