program: syz_mount_image$ext4(&(0x7f0000000240)='ext4\x00', &(0x7f00000000c0)='mnt\x00', 0x4, &(0x7f0000000000), 0x0, 0x236, &(0x7f0000000300)="$eJzs3TFoM2UcBvDnLomf/b4gVRdBUEFEtFDqJrjURaEgpYgIKlREXJRWqC1urZOLg84qnVyKuFkdpUtxUQSnqh3qImhxsDjoELlcK9VGFFNz8t3vB5fcJe97//e4e95kOS5Aa00nmU/SSTKTpJekON/grnqZPt3cntpfTgaDx38shu3q7dpZv2tJtpI8mGSvLPJiN9nYffro54NH731jvXfPe7tPTU30IE8dHx0+dvLu4usfLjyw8fmX3y8WmU//D8d1+YoRn3WL5Jb/otj/RNFtegT8E0uvfvBVlftbk9w9zH8vZeqT9+baDXu93P/OX/V964cvbp/kWIHLNxj0qt/ArQHQOmWSfopyNkm9Xpazs/V/+K87V8uXVtdemXlhdX3l+aZnKuCy9JPDRz6+8tG1P+X/u06df+D6VeX/iaWdb6r1k07TowEmqcr/zLOb90X+oXXkH9pL/qG95B/aS/6hveQf2kv+ob3kH9pL/qG95B/a63z+AYB2GVxp+g5koClNzz8AAAAAAAAAAAAAAAAAAMBF21P7y2fLpGp++nZy/HCS7qj6neHziJMbh69XfyqqZr8r6m5jeebOMXcwpvcbvvv6pm+brf/ZHc3W31xJtl5LMtftXrz+itPr79+7+W++7z03ZoExPfRks/V/3Wm2/sJB8kk1/8yNmn/K3DZ8Hz3/9KvzN2b9l38ZcwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMzG8BAAD//8n0bSk=") mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x0) r0 = openat(0xffffffffffffff9c, &(0x7f0000000680)='mnt/encrypted_dir\x00', 0x800, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000540)='mnt\x00', 0x0, 0x0) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r1, 0xc0506617, &(0x7f0000000580)={@id={0x2, 0x0, @a}, 0x40, 0x0, '\x00', @a}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000680)='mnt/encrypted_dir\x00', 0x800, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r2, 0x800c6613, &(0x7f00000006c0)=@v2={0x2, @aes256, 0x0, '\x00', @a}) chdir(&(0x7f00000002c0)='mnt/encrypted_dir\x00') syz_mount_image$vfat(&(0x7f0000000180), &(0x7f0000000140)='./cgroup\x00', 0x0, 0x0, 0x1, 0x0, &(0x7f0000000140)) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r2, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) ioctl$FS_IOC_SETFLAGS(r0, 0x40086602, &(0x7f0000000100)=0x40000000) r3 = openat(0xffffffffffffff9c, &(0x7f0000000280)='./cgroup\x00', 0x40000, 0x6) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000040)={r3, r3, 0xb, 0x0, @void}, 0x10) r4 = socket(0xa, 0x2, 0x0) connect$inet(r4, &(0x7f0000000300)={0x2, 0x4e26, @empty}, 0x10) [ 74.854009][ T4661] Bluetooth: hci0: command tx timeout [ 74.927617][ T5313] loop0: detected capacity change from 0 to 128 [ 74.985072][ T5313] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 74.995761][ T5313] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 75.016358][ T5313] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 75.035318][ T5313] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 75.075591][ T78] [ 75.076727][ T78] ====================================================== [ 75.079503][ T78] WARNING: possible circular locking dependency detected [ 75.082387][ T78] syzkaller #0 Not tainted [ 75.084169][ T78] ------------------------------------------------------ [ 75.087322][ T78] kswapd0/78 is trying to acquire lock: [ 75.089641][ T78] ffff888000997098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x250 [ 75.093519][ T78] [ 75.093519][ T78] but task is already holding lock: [ 75.096171][ T78] ffffffff8e886800 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x935/0x2e10 [ 75.099208][ T78] [ 75.099208][ T78] which lock already depends on the new lock. [ 75.099208][ T78] [ 75.103625][ T78] [ 75.103625][ T78] the existing dependency chain (in reverse order) is: [ 75.107640][ T78] [ 75.107640][ T78] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 75.110795][ T78] fs_reclaim_acquire+0x71/0x100 [ 75.113170][ T78] __kmalloc_cache_noprof+0x40/0x660 [ 75.115721][ T78] assoc_array_insert+0x92/0x2f60 [ 75.118110][ T78] __key_link_begin+0xd6/0x1f0 [ 75.120286][ T78] __key_create_or_update+0x449/0xa80 [ 75.122828][ T78] key_create_or_update+0x42/0x60 [ 75.125317][ T78] x509_load_certificate_list+0x145/0x280 [ 75.128222][ T78] do_one_initcall+0x250/0x8d0 [ 75.130595][ T78] do_initcall_level+0x104/0x190 [ 75.133087][ T78] do_initcalls+0x59/0xa0 [ 75.135342][ T78] kernel_init_freeable+0x2a6/0x3e0 [ 75.137872][ T78] kernel_init+0x1d/0x1d0 [ 75.140128][ T78] ret_from_fork+0x51e/0xb90 [ 75.142290][ T78] ret_from_fork_asm+0x1a/0x30 [ 75.144568][ T78] [ 75.144568][ T78] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 75.148290][ T78] __lock_acquire+0x15a5/0x2cf0 [ 75.150843][ T78] lock_acquire+0xf0/0x2e0 [ 75.153008][ T78] down_write+0x96/0x200 [ 75.155006][ T78] keyring_clear+0xaf/0x250 [ 75.157286][ T78] fscrypt_put_master_key+0xca/0x190 [ 75.159921][ T78] put_crypt_info+0x26d/0x310 [ 75.162211][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 75.164926][ T78] ext4_evict_inode+0x9fb/0xeb0 [ 75.167296][ T78] evict+0x61e/0xb10 [ 75.169208][ T78] __dentry_kill+0x1a2/0x5e0 [ 75.171443][ T78] shrink_kill+0xa9/0x2c0 [ 75.173505][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 75.175858][ T78] prune_dcache_sb+0x119/0x180 [ 75.178117][ T78] super_cache_scan+0x369/0x4b0 [ 75.180387][ T78] do_shrink_slab+0x6df/0x1170 [ 75.182662][ T78] shrink_slab+0x830/0x1150 [ 75.184836][ T78] shrink_one+0x2d9/0x710 [ 75.186934][ T78] shrink_node+0x3197/0x3a90 [ 75.189136][ T78] kswapd+0x1742/0x2e10 [ 75.191284][ T78] kthread+0x388/0x470 [ 75.193359][ T78] ret_from_fork+0x51e/0xb90 [ 75.195627][ T78] ret_from_fork_asm+0x1a/0x30 [ 75.197792][ T78] [ 75.197792][ T78] other info that might help us debug this: [ 75.197792][ T78] [ 75.201827][ T78] Possible unsafe locking scenario: [ 75.201827][ T78] [ 75.204949][ T78] CPU0 CPU1 [ 75.207205][ T78] ---- ---- [ 75.209492][ T78] lock(fs_reclaim); [ 75.212941][ T78] lock(&type->lock_class); [ 75.215683][ T78] lock(fs_reclaim); [ 75.218109][ T78] lock(&type->lock_class); [ 75.219754][ T78] [ 75.219754][ T78] *** DEADLOCK *** [ 75.219754][ T78] [ 75.222996][ T78] 2 locks held by kswapd0/78: [ 75.225007][ T78] #0: ffffffff8e886800 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x935/0x2e10 [ 75.228626][ T78] #1: ffff8880124300e0 (&type->s_umount_key#33){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 75.232534][ T78] [ 75.232534][ T78] stack backtrace: [ 75.234842][ T78] CPU: 0 UID: 0 PID: 78 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 75.234851][ T78] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 75.234856][ T78] Call Trace: [ 75.234861][ T78] [ 75.234865][ T78] dump_stack_lvl+0xe8/0x150 [ 75.234877][ T78] print_circular_bug+0x2e1/0x300 [ 75.234893][ T78] check_noncircular+0x12e/0x150 [ 75.234908][ T78] __lock_acquire+0x15a5/0x2cf0 [ 75.234922][ T78] ? check_noncircular+0xda/0x150 [ 75.234935][ T78] lock_acquire+0xf0/0x2e0 [ 75.234942][ T78] ? keyring_clear+0xaf/0x250 [ 75.234956][ T78] down_write+0x96/0x200 [ 75.234966][ T78] ? keyring_clear+0xaf/0x250 [ 75.234976][ T78] ? __pfx_down_write+0x10/0x10 [ 75.234987][ T78] keyring_clear+0xaf/0x250 [ 75.234998][ T78] ? __pfx_keyring_clear+0x10/0x10 [ 75.235005][ T78] ? crypto_destroy_tfm+0x36/0x320 [ 75.235017][ T78] fscrypt_put_master_key+0xca/0x190 [ 75.235029][ T78] put_crypt_info+0x26d/0x310 [ 75.235036][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 75.235043][ T78] ext4_evict_inode+0x9fb/0xeb0 [ 75.235052][ T78] ? inode_wait_for_writeback+0x16d/0x3b0 [ 75.235062][ T78] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 75.235071][ T78] ? do_raw_spin_lock+0x12b/0x2f0 [ 75.235078][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 75.235090][ T78] ? do_raw_spin_unlock+0x4d/0x210 [ 75.235099][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 75.235110][ T78] evict+0x61e/0xb10 [ 75.235121][ T78] ? __pfx_evict+0x10/0x10 [ 75.235136][ T78] ? _raw_spin_unlock+0x28/0x50 [ 75.235144][ T78] ? iput+0xb25/0xe80 [ 75.235153][ T78] __dentry_kill+0x1a2/0x5e0 [ 75.235159][ T78] ? shrink_kill+0x8d/0x2c0 [ 75.235167][ T78] shrink_kill+0xa9/0x2c0 [ 75.235175][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 75.235183][ T78] prune_dcache_sb+0x119/0x180 [ 75.235191][ T78] ? __pfx_prune_dcache_sb+0x10/0x10 [ 75.235199][ T78] ? list_lru_count_one+0x27/0x2c0 [ 75.235206][ T78] ? list_lru_count_one+0x264/0x2c0 [ 75.235212][ T78] super_cache_scan+0x369/0x4b0 [ 75.235223][ T78] do_shrink_slab+0x6df/0x1170 [ 75.235232][ T78] shrink_slab+0x830/0x1150 [ 75.235239][ T78] ? shrink_slab+0x1ef/0x1150 [ 75.235246][ T78] ? __pfx_shrink_slab+0x10/0x10 [ 75.235253][ T78] ? __pfx_try_to_shrink_lruvec+0x10/0x10 [ 75.235260][ T78] ? rcu_is_watching+0x15/0xb0 [ 75.235270][ T78] shrink_one+0x2d9/0x710 [ 75.235276][ T78] ? shrink_node+0x2d6a/0x3a90 [ 75.235282][ T78] shrink_node+0x3197/0x3a90 [ 75.235290][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 75.235297][ T78] ? shrink_node+0x2d6a/0x3a90 [ 75.235304][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 75.235313][ T78] ? percpu_ref_put+0x19/0x180 [ 75.235319][ T78] ? __pfx_shrink_node+0x10/0x10 [ 75.235325][ T78] ? percpu_ref_put+0x19/0x180 [ 75.235331][ T78] ? percpu_ref_put+0x19/0x180 [ 75.235337][ T78] ? mem_cgroup_iter+0x420/0x450 [ 75.235344][ T78] ? mem_cgroup_iter+0x3b/0x450 [ 75.235351][ T78] kswapd+0x1742/0x2e10 [ 75.235362][ T78] ? kswapd+0x935/0x2e10 [ 75.235371][ T78] ? __pfx_kswapd+0x10/0x10 [ 75.235379][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 75.235387][ T78] ? __mutex_unlock_slowpath+0x1bd/0x7d0 [ 75.235401][ T78] ? __pfx___mutex_unlock_slowpath+0x10/0x10 [ 75.235418][ T78] ? __pfx_autoremove_wake_function+0x10/0x10 [ 75.235428][ T78] ? __kthread_parkme+0x7a/0x1f0 [ 75.235439][ T78] kthread+0x388/0x470 [ 75.235445][ T78] ? __pfx_kswapd+0x10/0x10 [ 75.235452][ T78] ? __pfx_kthread+0x10/0x10 [ 75.235457][ T78] ret_from_fork+0x51e/0xb90 [ 75.235466][ T78] ? __pfx_ret_from_fork+0x10/0x10 [ 75.235473][ T78] ? __switch_to+0xc7d/0x1450 [ 75.235480][ T78] ? __pfx_kthread+0x10/0x10 [ 75.235486][ T78] ret_from_fork_asm+0x1a/0x30 [ 75.235497][ T78]