================================ WARNING: inconsistent lock state 4.19.105-syzkaller #0 Not tainted -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. syz-executor.3/8185 [HC0[0]:SC1[1]:HE1:SE0] takes: 00000000ba19aca4 (rxrpc_conn_id_lock){+.?.}, at: spin_lock include/linux/spinlock.h:329 [inline] 00000000ba19aca4 (rxrpc_conn_id_lock){+.?.}, at: rxrpc_put_client_connection_id.part.0+0x19/0x70 net/rxrpc/conn_client.c:143 {SOFTIRQ-ON-W} state was registered at: lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:3903 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2f/0x40 kernel/locking/spinlock.c:144 spin_lock include/linux/spinlock.h:329 [inline] rxrpc_get_client_connection_id net/rxrpc/conn_client.c:114 [inline] rxrpc_alloc_client_connection net/rxrpc/conn_client.c:198 [inline] rxrpc_get_client_conn net/rxrpc/conn_client.c:345 [inline] rxrpc_connect_call+0x948/0x4920 net/rxrpc/conn_client.c:702 rxrpc_new_client_call+0x8e7/0x1880 net/rxrpc/call_object.c:291 rxrpc_new_client_call_for_sendmsg net/rxrpc/sendmsg.c:596 [inline] rxrpc_do_sendmsg+0xfc3/0x1ca3 net/rxrpc/sendmsg.c:652 rxrpc_sendmsg+0x4a0/0x5b0 net/rxrpc/af_rxrpc.c:593 sock_sendmsg_nosec net/socket.c:622 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:632 ___sys_sendmsg+0x3e2/0x920 net/socket.c:2115 __sys_sendmmsg+0x1bf/0x4e0 net/socket.c:2210 __do_sys_sendmmsg net/socket.c:2239 [inline] __se_sys_sendmmsg net/socket.c:2236 [inline] __x64_sys_sendmmsg+0x9d/0x100 net/socket.c:2236 PM: Marking nosave pages: [mem 0x00000000-0x00000fff] do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe irq event stamp: 2108170 hardirqs last enabled at (2108170): [] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] hardirqs last enabled at (2108170): [] _raw_spin_unlock_irqrestore+0x6b/0xe0 kernel/locking/spinlock.c:184 PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] hardirqs last disabled at (2108169): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline] hardirqs last disabled at (2108169): [] _raw_spin_lock_irqsave+0x6f/0xcd kernel/locking/spinlock.c:152 softirqs last enabled at (2107746): [] __do_softirq+0x633/0x921 kernel/softirq.c:318 softirqs last disabled at (2108129): [] invoke_softirq kernel/softirq.c:372 [inline] softirqs last disabled at (2108129): [] irq_exit+0x180/0x1d0 kernel/softirq.c:412 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(rxrpc_conn_id_lock); lock(rxrpc_conn_id_lock); *** DEADLOCK *** 4 locks held by syz-executor.3/8185: #0: 000000005af9d92e (sb_writers#4){.+.+}, at: sb_start_write include/linux/fs.h:1578 [inline] #0: 000000005af9d92e (sb_writers#4){.+.+}, at: mnt_want_write+0x3f/0xc0 fs/namespace.c:360 #1: 000000005682ab60 (&type->i_mutex_dir_key#3/1){+.+.}, at: inode_lock_nested include/linux/fs.h:782 [inline] #1: 000000005682ab60 (&type->i_mutex_dir_key#3/1){+.+.}, at: filename_create+0x17c/0x4f0 fs/namei.c:3638 #2: 000000008db4c549 (rcu_read_lock){....}, at: arch_static_branch arch/x86/include/asm/jump_label.h:23 [inline] #2: 000000008db4c549 (rcu_read_lock){....}, at: mem_cgroup_disabled include/linux/memcontrol.h:333 [inline] #2: 000000008db4c549 (rcu_read_lock){....}, at: get_mem_cgroup_from_mm+0x65/0x510 mm/memcontrol.c:837 #3: 000000006ffd85a0 (rcu_callback){....}, at: __rcu_reclaim kernel/rcu/rcu.h:226 [inline] #3: 000000006ffd85a0 (rcu_callback){....}, at: rcu_do_batch kernel/rcu/tree.c:2584 [inline] #3: 000000006ffd85a0 (rcu_callback){....}, at: invoke_rcu_callbacks kernel/rcu/tree.c:2897 [inline] #3: 000000006ffd85a0 (rcu_callback){....}, at: __rcu_process_callbacks kernel/rcu/tree.c:2864 [inline] #3: 000000006ffd85a0 (rcu_callback){....}, at: rcu_process_callbacks+0xc79/0x1a30 kernel/rcu/tree.c:2881 stack backtrace: CPU: 0 PID: 8185 Comm: syz-executor.3 Not tainted 4.19.105-syzkaller #0 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+0x197/0x210 lib/dump_stack.c:118 print_usage_bug.cold+0x330/0x42a kernel/locking/lockdep.c:2540 valid_state kernel/locking/lockdep.c:2553 [inline] mark_lock_irq kernel/locking/lockdep.c:2747 [inline] mark_lock+0xd1b/0x1370 kernel/locking/lockdep.c:3127 mark_irqflags kernel/locking/lockdep.c:3005 [inline] __lock_acquire+0xc62/0x49c0 kernel/locking/lockdep.c:3368 lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:3903 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2f/0x40 kernel/locking/spinlock.c:144 spin_lock include/linux/spinlock.h:329 [inline] rxrpc_put_client_connection_id.part.0+0x19/0x70 net/rxrpc/conn_client.c:143 rxrpc_put_client_connection_id include/linux/spinlock.h:370 [inline] rxrpc_put_one_client_conn net/rxrpc/conn_client.c:956 [inline] rxrpc_put_client_conn+0x6c6/0xc20 net/rxrpc/conn_client.c:1002 rxrpc_put_connection net/rxrpc/ar-internal.h:951 [inline] rxrpc_rcu_destroy_call+0xbd/0x200 net/rxrpc/call_object.c:657 __rcu_reclaim kernel/rcu/rcu.h:236 [inline] rcu_do_batch kernel/rcu/tree.c:2584 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2897 [inline] __rcu_process_callbacks kernel/rcu/tree.c:2864 [inline] rcu_process_callbacks+0xba0/0x1a30 kernel/rcu/tree.c:2881 __do_softirq+0x25c/0x921 kernel/softirq.c:292 invoke_softirq kernel/softirq.c:372 [inline] irq_exit+0x180/0x1d0 kernel/softirq.c:412 exiting_irq arch/x86/include/asm/apic.h:544 [inline] smp_apic_timer_interrupt+0x13b/0x550 arch/x86/kernel/apic/apic.c:1094 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:893 RIP: 0010:__read_once_size include/linux/compiler.h:193 [inline] RIP: 0010:get_mem_cgroup_from_mm mm/memcontrol.c:850 [inline] RIP: 0010:get_mem_cgroup_from_mm+0xd4/0x510 mm/memcontrol.c:833 Code: ff df 48 89 85 68 ff ff ff 48 c1 e8 03 4c 01 e8 48 89 85 70 ff ff ff 48 85 db 0f 84 d5 01 00 00 48 8b 85 70 ff ff ff 80 38 00 <0f> 85 d9 03 00 00 4c 8b b3 38 05 00 00 e8 aa 2e b0 ff 85 c0 74 0d RSP: 0018:ffff88808804fb28 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13 RAX: ffffed1012d62a1f RBX: ffff888096b14bc0 RCX: ffffffff81591611 RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff8880ae823990 RBP: ffff88808804fbd0 R08: 1ffff11015d04732 R09: ffffed1015d04733 R10: ffffed1015d04732 R11: ffff8880ae823993 R12: 1ffff11011009f69 R13: dffffc0000000000 R14: 00000000006000c0 R15: ffff8880aa459840 get_mem_cgroup_from_current mm/memcontrol.c:896 [inline] memcg_kmem_get_cache+0x185/0x790 mm/memcontrol.c:2590 slab_pre_alloc_hook mm/slab.h:429 [inline] slab_alloc mm/slab.c:3383 [inline] kmem_cache_alloc+0x18f/0x700 mm/slab.c:3557 __d_alloc+0x2e/0x9c0 fs/dcache.c:1610 d_alloc+0x4d/0x280 fs/dcache.c:1694 __lookup_hash+0xcd/0x190 fs/namei.c:1543 filename_create+0x1a7/0x4f0 fs/namei.c:3639 user_path_create fs/namei.c:3696 [inline] do_mkdirat+0xb5/0x2a0 fs/namei.c:3834 __do_sys_mkdir fs/namei.c:3858 [inline] __se_sys_mkdir fs/namei.c:3856 [inline] __x64_sys_mkdir+0x5c/0x80 fs/namei.c:3856 do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45b867 Code: 1f 40 00 b8 5a 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 7d c2 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 b8 53 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 5d c2 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007ffe1ba8eca8 EFLAGS: 00000202 ORIG_RAX: 0000000000000053 RAX: ffffffffffffffda RBX: 000000000007d5c1 RCX: 000000000045b867 RDX: 00007ffe1ba8ecf5 RSI: 00000000000001ff RDI: 00007ffe1ba8ecf0 RBP: 00000000000002a4 R08: 0000000000000000 R09: 0000000000000005 R10: 0000000000000064 R11: 0000000000000202 R12: 000000000000000a R13: 00007ffe1ba8ece0 R14: 000000000007d299 R15: 00007ffe1ba8ecf0 PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed