===================================== WARNING: bad unlock balance detected! 4.16.0-rc2+ #235 Not tainted ------------------------------------- syzkaller139845/4183 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 syzkaller139845/4183: #0: (policy_rwlock){.+.?}, at: [<00000000e0a8fd51>] security_compute_sid+0x20e/0x18f0 security/selinux/ss/services.c:1608 #1: (rcu_read_lock){....}, at: [<0000000030cfe265>] __is_insn_slot_addr+0x0/0x330 kernel/kprobes.c:207 #2: ((&ndev->rs_timer)){+.-.}, at: [<00000000ea489437>] lockdep_copy_map include/linux/lockdep.h:178 [inline] #2: ((&ndev->rs_timer)){+.-.}, at: [<00000000ea489437>] call_timer_fn+0x1c6/0x820 kernel/time/timer.c:1316 #3: (rcu_read_lock){....}, at: [<000000004d20ebce>] ip6_nd_hdr net/ipv6/ndisc.c:449 [inline] #3: (rcu_read_lock){....}, at: [<000000004d20ebce>] ndisc_send_skb+0x826/0x1370 net/ipv6/ndisc.c:485 #4: (rcu_read_lock){....}, at: [<00000000713b2a4c>] nf_hook.constprop.27+0x0/0x830 net/ipv6/ndisc.c:387 stack backtrace: CPU: 1 PID: 4183 Comm: syzkaller139845 Not tainted 4.16.0-rc2+ #235 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:lock_acquire+0x256/0x580 kernel/locking/lockdep.c:3923 RSP: 0018:ffff8801b1a8f260 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff12 RAX: dffffc0000000000 RBX: ffff8801b832e0c0 RCX: 0000000000000000 RDX: 1ffffffff0d592d5 RSI: 00000000bdeea358 RDI: 0000000000000282 RBP: ffff8801b1a8f358 R08: 1ffff10036351daf R09: 0000000000000002 R10: ffff8801b1a8f240 R11: 0000000000000000 R12: 1ffff10036351e52 R13: 0000000000000000 R14: 0000000000000002 R15: 0000000000000000 rcu_lock_acquire include/linux/rcupdate.h:244 [inline] rcu_read_lock include/linux/rcupdate.h:630 [inline] __is_insn_slot_addr+0xb4/0x330 kernel/kprobes.c:293 is_kprobe_optinsn_slot include/linux/kprobes.h:344 [inline] kernel_text_address+0x11b/0x140 kernel/extable.c:150 __kernel_text_address+0xd/0x40 kernel/extable.c:107 unwind_get_return_address+0x61/0xa0 arch/x86/kernel/unwind_frame.c:18 __save_stack_trace+0x7e/0xd0 arch/x86/kernel/stacktrace.c:45 save_stack_trace+0x1a/0x20 arch/x86/kernel/stacktrace.c:60 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:552 kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:489 slab_post_alloc_hook mm/slab.h:443 [inline] slab_alloc mm/slab.c:3379 [inline] kmem_cache_alloc+0x11b/0x760 mm/slab.c:3539 kmem_cache_zalloc include/linux/slab.h:691 [inline] ebitmap_cpy+0xce/0x260 security/selinux/ss/ebitmap.c:60 mls_context_cpy security/selinux/ss/context.h:51 [inline] mls_compute_sid+0x555/0x930 security/selinux/ss/mls.c:556 security_compute_sid+0x8df/0x18f0 security/selinux/ss/services.c:1725 security_transition_sid+0x75/0x90 security/selinux/ss/services.c:1764 socket_sockcreate_sid security/selinux/hooks.c:4335 [inline] selinux_socket_post_create+0x586/0x970 security/selinux/hooks.c:4386 security_socket_post_create+0x8b/0xc0 security/security.c:1344 __sock_create+0x6a4/0x850 net/socket.c:1301 sock_create net/socket.c:1325 [inline] SYSC_socket net/socket.c:1355 [inline] SyS_socket+0xeb/0x1d0 net/socket.c:1335 do_syscall_64+0x280/0x940 arch/x86/entry/common.c:287 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x447309 RSP: 002b:00007ffec5f635b8 EFLAGS: 00000207 ORIG_RAX: 0000000000000029 RAX: ffffffffffffffda RBX: 00007ffec5f636a0 RCX: 0000000000447309 RDX: 000000000000003c RSI: 0000000000000003 RDI: 000000000000000a RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000207 R12: 0000000000408b40 R13: 0000000000408bd0 R14: 0000000000000000 R15: 0000000000000000