program: syz_mount_image$ext4(&(0x7f0000000240)='ext4\x00', &(0x7f0000000280)='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=") r0 = openat(0xffffffffffffff9c, &(0x7f0000000540)='mnt\x00', 0x0, 0x0) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r0, 0xc0506617, &(0x7f0000000580)={@id={0x2, 0x0, @a}, 0x40, 0x0, '\x00', @a}) ioctl$SNDRV_CTL_IOCTL_HWDEP_INFO(0xffffffffffffffff, 0x80dc5521, &(0x7f0000000040)=""/25) mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x10) r1 = openat(0xffffffffffffff9c, &(0x7f0000000680)='mnt/encrypted_dir\x00', 0x800, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r1, 0x800c6613, &(0x7f00000006c0)=@v2={0x2, @aes256, 0x0, '\x00', @a}) chdir(&(0x7f00000002c0)='mnt/encrypted_dir\x00') syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(0xffffffffffffffff, 0x8004587d, &(0x7f0000000080)={@desc={0x1, 0x0, @desc2}}) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r1, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) mount$afs(0x0, &(0x7f0000002840)='./file0\x00', 0x0, 0x700, 0x0) [ 84.497980][ T5314] Bluetooth: hci0: command tx timeout [ 84.601138][ T5336] loop0: detected capacity change from 0 to 128 [ 84.845560][ T5336] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 84.865433][ T5336] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 84.932197][ T5336] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 85.002332][ T5336] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 85.287463][ T69] [ 85.288728][ T69] ====================================================== [ 85.291847][ T69] WARNING: possible circular locking dependency detected [ 85.295009][ T69] syzkaller #0 Not tainted [ 85.297073][ T69] ------------------------------------------------------ [ 85.300389][ T69] kswapd0/69 is trying to acquire lock: [ 85.303212][ T69] ffff8880009d2090 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x250 [ 85.308253][ T69] [ 85.308253][ T69] but task is already holding lock: [ 85.311594][ T69] ffffffff8ea87720 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x927/0x2de0 [ 85.315138][ T69] [ 85.315138][ T69] which lock already depends on the new lock. [ 85.315138][ T69] [ 85.320496][ T69] [ 85.320496][ T69] the existing dependency chain (in reverse order) is: [ 85.325599][ T69] [ 85.325599][ T69] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 85.328753][ T69] fs_reclaim_acquire+0x71/0x100 [ 85.331171][ T69] __kmalloc_cache_noprof+0x40/0x660 [ 85.333718][ T69] assoc_array_insert+0x92/0x2f60 [ 85.336231][ T69] __key_link_begin+0xd6/0x1f0 [ 85.338631][ T69] __key_create_or_update+0x449/0xa80 [ 85.342034][ T69] key_create_or_update+0x42/0x60 [ 85.345490][ T69] x509_load_certificate_list+0x145/0x280 [ 85.348383][ T69] do_one_initcall+0x250/0x870 [ 85.350763][ T69] do_initcall_level+0x104/0x190 [ 85.353072][ T69] do_initcalls+0x59/0xa0 [ 85.355095][ T69] kernel_init_freeable+0x2a6/0x3e0 [ 85.357903][ T69] kernel_init+0x1d/0x1d0 [ 85.360599][ T69] ret_from_fork+0x514/0xb70 [ 85.363350][ T69] ret_from_fork_asm+0x1a/0x30 [ 85.365587][ T69] [ 85.365587][ T69] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 85.369108][ T69] __lock_acquire+0x15a5/0x2cf0 [ 85.371522][ T69] lock_acquire+0x106/0x350 [ 85.373887][ T69] down_write+0x96/0x200 [ 85.376719][ T69] keyring_clear+0xaf/0x250 [ 85.379902][ T69] fscrypt_put_master_key+0xca/0x190 [ 85.382537][ T69] put_crypt_info+0x26d/0x310 [ 85.384816][ T69] fscrypt_put_encryption_info+0xf6/0x140 [ 85.387595][ T69] ext4_evict_inode+0xbe0/0x10e0 [ 85.390009][ T69] evict+0x61e/0xb10 [ 85.392075][ T69] __dentry_kill+0x1a2/0x690 [ 85.394436][ T69] shrink_kill+0xa9/0x2c0 [ 85.396852][ T69] shrink_dentry_list+0x2e0/0x5e0 [ 85.399889][ T69] prune_dcache_sb+0x119/0x180 [ 85.402856][ T69] super_cache_scan+0x369/0x4b0 [ 85.405438][ T69] do_shrink_slab+0x6fb/0x1150 [ 85.407668][ T69] shrink_slab+0x835/0x11f0 [ 85.409838][ T69] shrink_one+0x2d9/0x710 [ 85.411911][ T69] shrink_node+0x31bf/0x3ae0 [ 85.414234][ T69] kswapd+0x1736/0x2de0 [ 85.416646][ T69] kthread+0x388/0x470 [ 85.419611][ T69] ret_from_fork+0x514/0xb70 [ 85.422602][ T69] ret_from_fork_asm+0x1a/0x30 [ 85.425131][ T69] [ 85.425131][ T69] other info that might help us debug this: [ 85.425131][ T69] [ 85.429547][ T69] Possible unsafe locking scenario: [ 85.429547][ T69] [ 85.432807][ T69] CPU0 CPU1 [ 85.435480][ T69] ---- ---- [ 85.438872][ T69] lock(fs_reclaim); [ 85.441426][ T69] lock(&type->lock_class); [ 85.445013][ T69] lock(fs_reclaim); [ 85.448251][ T69] lock(&type->lock_class); [ 85.450568][ T69] [ 85.450568][ T69] *** DEADLOCK *** [ 85.450568][ T69] [ 85.454316][ T69] 2 locks held by kswapd0/69: [ 85.456566][ T69] #0: ffffffff8ea87720 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x927/0x2de0 [ 85.460410][ T69] #1: ffff8880334440d8 (&type->s_umount_key#33){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 85.464782][ T69] [ 85.464782][ T69] stack backtrace: [ 85.467255][ T69] CPU: 0 UID: 0 PID: 69 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 85.467269][ T69] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 85.467274][ T69] Call Trace: [ 85.467280][ T69] [ 85.467288][ T69] dump_stack_lvl+0xe8/0x150 [ 85.467313][ T69] print_circular_bug+0x2e1/0x300 [ 85.467330][ T69] check_noncircular+0x12e/0x150 [ 85.467343][ T69] __lock_acquire+0x15a5/0x2cf0 [ 85.467361][ T69] ? check_noncircular+0xda/0x150 [ 85.467375][ T69] ? keyring_clear+0xaf/0x250 [ 85.467387][ T69] lock_acquire+0x106/0x350 [ 85.467404][ T69] ? keyring_clear+0xaf/0x250 [ 85.467417][ T69] down_write+0x96/0x200 [ 85.467433][ T69] ? keyring_clear+0xaf/0x250 [ 85.467444][ T69] ? __pfx_down_write+0x10/0x10 [ 85.467461][ T69] keyring_clear+0xaf/0x250 [ 85.467473][ T69] ? __pfx_keyring_clear+0x10/0x10 [ 85.467483][ T69] ? crypto_destroy_tfm+0x36/0x320 [ 85.467501][ T69] fscrypt_put_master_key+0xca/0x190 [ 85.467517][ T69] put_crypt_info+0x26d/0x310 [ 85.467535][ T69] fscrypt_put_encryption_info+0xf6/0x140 [ 85.467551][ T69] ext4_evict_inode+0xbe0/0x10e0 [ 85.467574][ T69] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 85.467588][ T69] ? do_raw_spin_lock+0x12b/0x2f0 [ 85.467602][ T69] ? __pfx_ext4_evict_inode+0x10/0x10 [ 85.467614][ T69] ? do_raw_spin_unlock+0x4d/0x210 [ 85.467627][ T69] ? __pfx_ext4_evict_inode+0x10/0x10 [ 85.467638][ T69] evict+0x61e/0xb10 [ 85.467653][ T69] ? __pfx_evict+0x10/0x10 [ 85.467665][ T69] ? _raw_spin_unlock+0x28/0x50 [ 85.467677][ T69] ? iput+0xb25/0xe80 [ 85.467694][ T69] __dentry_kill+0x1a2/0x690 [ 85.467710][ T69] ? shrink_kill+0x8d/0x2c0 [ 85.467727][ T69] shrink_kill+0xa9/0x2c0 [ 85.467745][ T69] shrink_dentry_list+0x2e0/0x5e0 [ 85.467763][ T69] prune_dcache_sb+0x119/0x180 [ 85.467779][ T69] ? __pfx_prune_dcache_sb+0x10/0x10 [ 85.467797][ T69] ? list_lru_count_one+0x27/0x2c0 [ 85.467811][ T69] ? list_lru_count_one+0x264/0x2c0 [ 85.467822][ T69] super_cache_scan+0x369/0x4b0 [ 85.467833][ T69] do_shrink_slab+0x6fb/0x1150 [ 85.467851][ T69] shrink_slab+0x835/0x11f0 [ 85.467868][ T69] ? shrink_slab+0x1ef/0x11f0 [ 85.467883][ T69] ? __pfx_shrink_slab+0x10/0x10 [ 85.467897][ T69] ? __pfx_try_to_shrink_lruvec+0x10/0x10 [ 85.467912][ T69] ? shrink_node+0x2d92/0x3ae0 [ 85.467926][ T69] shrink_one+0x2d9/0x710 [ 85.467940][ T69] ? shrink_node+0x2d92/0x3ae0 [ 85.467953][ T69] shrink_node+0x31bf/0x3ae0 [ 85.467968][ T69] ? shrink_node+0x2d92/0x3ae0 [ 85.467981][ T69] ? __lock_acquire+0x6b5/0x2cf0 [ 85.468000][ T69] ? percpu_ref_put+0x19/0x180 [ 85.468014][ T69] ? percpu_ref_put+0x19/0x180 [ 85.468027][ T69] ? __pfx_shrink_node+0x10/0x10 [ 85.468039][ T69] ? percpu_ref_put+0x19/0x180 [ 85.468052][ T69] ? percpu_ref_put+0x19/0x180 [ 85.468066][ T69] ? mem_cgroup_iter+0x420/0x450 [ 85.468082][ T69] ? mem_cgroup_iter+0x3b/0x450 [ 85.468092][ T69] kswapd+0x1736/0x2de0 [ 85.468110][ T69] ? kswapd+0x927/0x2de0 [ 85.468128][ T69] ? __pfx_kswapd+0x10/0x10 [ 85.468144][ T69] ? __lock_acquire+0x6b5/0x2cf0 [ 85.468163][ T69] ? __mutex_unlock_slowpath+0x1be/0x6f0 [ 85.468179][ T69] ? __pfx___mutex_unlock_slowpath+0x10/0x10 [ 85.468199][ T69] ? __pfx_autoremove_wake_function+0x10/0x10 [ 85.469245][ T69] ? __kthread_parkme+0x7a/0x1f0 [ 85.469262][ T69] kthread+0x388/0x470 [ 85.469279][ T69] ? __pfx_kswapd+0x10/0x10 [ 85.469299][ T69] ? __pfx_kthread+0x10/0x10 [ 85.469316][ T69] ret_from_fork+0x514/0xb70 [ 85.469340][ T69] ? __pfx_ret_from_fork+0x10/0x10 [ 85.469361][ T69] ? __switch_to+0xc79/0x1410 [ 85.469381][ T69] ? __pfx_kthread+0x10/0x10 [ 85.469398][ T69] ret_from_fork_asm+0x1a/0x30 [ 85.469419][ T69]