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}) mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x106) 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') symlink(&(0x7f0000001000)='./file0\x00', &(0x7f00000000c0)='./file0\x00') ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r0, 0xc0406619, &(0x7f0000000140)={@id={0x2, 0x0, @a}}) lstat(&(0x7f0000000100)='./file0\x00', &(0x7f0000000280)) [ 91.257564][ T5291] Bluetooth: hci0: command tx timeout [ 91.390956][ T5327] loop0: detected capacity change from 0 to 128 [ 91.459282][ T5327] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 91.480230][ T5327] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 91.511412][ T5327] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 91.527654][ T5327] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 91.565220][ T69] [ 91.566433][ T69] ====================================================== [ 91.569394][ T69] WARNING: possible circular locking dependency detected [ 91.572385][ T69] syzkaller #0 Not tainted [ 91.574816][ T69] ------------------------------------------------------ [ 91.578546][ T69] kswapd0/69 is trying to acquire lock: [ 91.580907][ T69] ffff888000a34090 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xae/0x250 [ 91.585167][ T69] [ 91.585167][ T69] but task is already holding lock: [ 91.588663][ T69] ffffffff8ea869a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x9b6/0x31c0 [ 91.592992][ T69] [ 91.592992][ T69] which lock already depends on the new lock. [ 91.592992][ T69] [ 91.597600][ T69] [ 91.597600][ T69] the existing dependency chain (in reverse order) is: [ 91.601440][ T69] [ 91.601440][ T69] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 91.604925][ T69] fs_reclaim_acquire+0x71/0x100 [ 91.608146][ T69] __kmalloc_cache_noprof+0x61/0x660 [ 91.610872][ T69] assoc_array_insert+0x90/0x2f60 [ 91.613277][ T69] __key_link_begin+0xd6/0x1f0 [ 91.615527][ T69] __key_create_or_update+0x449/0xa80 [ 91.618145][ T69] key_create_or_update+0x42/0x60 [ 91.621261][ T69] x509_load_certificate_list+0x13d/0x280 [ 91.624366][ T69] do_one_initcall+0x250/0x870 [ 91.626680][ T69] do_initcall_level+0x10a/0x1a0 [ 91.629069][ T69] do_initcalls+0x59/0xa0 [ 91.631261][ T69] kernel_init_freeable+0x29d/0x3e0 [ 91.633939][ T69] kernel_init+0x1d/0x1d0 [ 91.636441][ T69] ret_from_fork+0x514/0xb70 [ 91.638788][ T69] ret_from_fork_asm+0x1a/0x30 [ 91.641073][ T69] [ 91.641073][ T69] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 91.644774][ T69] __lock_acquire+0x1520/0x2cf0 [ 91.647281][ T69] lock_acquire+0x106/0x350 [ 91.649524][ T69] down_write+0x96/0x200 [ 91.651621][ T69] keyring_clear+0xae/0x250 [ 91.653925][ T69] fscrypt_put_master_key+0xca/0x190 [ 91.657063][ T69] put_crypt_info+0x248/0x2b0 [ 91.659426][ T69] fscrypt_put_encryption_info+0xf6/0x140 [ 91.662061][ T69] ext4_evict_inode+0xbc8/0x10c0 [ 91.664502][ T69] evict+0x624/0xb50 [ 91.666538][ T69] dentry_kill+0x1b9/0x880 [ 91.668798][ T69] shrink_dentry_list+0x209/0x310 [ 91.671022][ T69] prune_dcache_sb+0x119/0x180 [ 91.673060][ T69] super_cache_scan+0x35c/0x4a0 [ 91.675361][ T69] do_shrink_slab+0x6d0/0x10e0 [ 91.677876][ T69] shrink_slab+0x838/0x1220 [ 91.680232][ T69] shrink_one+0x2a2/0x730 [ 91.682345][ T69] shrink_node+0x3303/0x3b60 [ 91.684572][ T69] kswapd+0x17b6/0x31c0 [ 91.686792][ T69] kthread+0x388/0x470 [ 91.689081][ T69] ret_from_fork+0x514/0xb70 [ 91.691499][ T69] ret_from_fork_asm+0x1a/0x30 [ 91.693689][ T69] [ 91.693689][ T69] other info that might help us debug this: [ 91.693689][ T69] [ 91.698158][ T69] Possible unsafe locking scenario: [ 91.698158][ T69] [ 91.701702][ T69] CPU0 CPU1 [ 91.703988][ T69] ---- ---- [ 91.706428][ T69] lock(fs_reclaim); [ 91.708369][ T69] lock(&type->lock_class); [ 91.711714][ T69] lock(fs_reclaim); [ 91.714567][ T69] lock(&type->lock_class); [ 91.716616][ T69] [ 91.716616][ T69] *** DEADLOCK *** [ 91.716616][ T69] [ 91.720377][ T69] 2 locks held by kswapd0/69: [ 91.722695][ T69] #0: ffffffff8ea869a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x9b6/0x31c0 [ 91.726405][ T69] #1: ffff888036e620d8 (&type->s_umount_key#33){++++}-{4:4}, at: super_cache_scan+0x91/0x4a0 [ 91.730893][ T69] [ 91.730893][ T69] stack backtrace: [ 91.733680][ T69] CPU: 0 UID: 0 PID: 69 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 91.733700][ T69] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 91.733708][ T69] Call Trace: [ 91.733716][ T69] [ 91.733723][ T69] dump_stack_lvl+0xe8/0x150 [ 91.733745][ T69] print_circular_bug+0x2e1/0x300 [ 91.733759][ T69] check_noncircular+0x12e/0x150 [ 91.733769][ T69] __lock_acquire+0x1520/0x2cf0 [ 91.733781][ T69] ? check_noncircular+0xda/0x150 [ 91.733796][ T69] ? keyring_clear+0xae/0x250 [ 91.733810][ T69] lock_acquire+0x106/0x350 [ 91.733822][ T69] ? keyring_clear+0xae/0x250 [ 91.733839][ T69] down_write+0x96/0x200 [ 91.733858][ T69] ? keyring_clear+0xae/0x250 [ 91.733871][ T69] ? __pfx_down_write+0x10/0x10 [ 91.733891][ T69] keyring_clear+0xae/0x250 [ 91.733905][ T69] ? __pfx_keyring_clear+0x10/0x10 [ 91.733920][ T69] ? crypto_destroy_tfm+0x33/0x2b0 [ 91.733939][ T69] fscrypt_put_master_key+0xca/0x190 [ 91.733958][ T69] put_crypt_info+0x248/0x2b0 [ 91.733974][ T69] fscrypt_put_encryption_info+0xf6/0x140 [ 91.733991][ T69] ext4_evict_inode+0xbc8/0x10c0 [ 91.734011][ T69] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 91.734024][ T69] ? do_raw_spin_lock+0x12b/0x2f0 [ 91.734042][ T69] ? __pfx_ext4_evict_inode+0x10/0x10 [ 91.734060][ T69] ? do_raw_spin_unlock+0x4d/0x210 [ 91.734076][ T69] ? __pfx_ext4_evict_inode+0x10/0x10 [ 91.734092][ T69] evict+0x624/0xb50 [ 91.734108][ T69] ? __pfx_evict+0x10/0x10 [ 91.734121][ T69] ? do_raw_spin_unlock+0x4d/0x210 [ 91.734137][ T69] ? _raw_spin_unlock+0x28/0x50 [ 91.734149][ T69] ? iput+0xb84/0xf00 [ 91.734168][ T69] dentry_kill+0x1b9/0x880 [ 91.734182][ T69] shrink_dentry_list+0x209/0x310 [ 91.734203][ T69] prune_dcache_sb+0x119/0x180 [ 91.734220][ T69] ? __pfx_prune_dcache_sb+0x10/0x10 [ 91.734237][ T69] ? list_lru_count_one+0x27/0x2c0 [ 91.734255][ T69] ? list_lru_count_one+0x27/0x2c0 [ 91.734267][ T69] ? list_lru_count_one+0x27/0x2c0 [ 91.734278][ T69] ? list_lru_count_one+0x264/0x2c0 [ 91.734291][ T69] super_cache_scan+0x35c/0x4a0 [ 91.734305][ T69] do_shrink_slab+0x6d0/0x10e0 [ 91.734325][ T69] shrink_slab+0x838/0x1220 [ 91.734342][ T69] ? shrink_slab+0x1e9/0x1220 [ 91.734363][ T69] ? __pfx_shrink_slab+0x10/0x10 [ 91.734378][ T69] ? __pfx_try_to_shrink_lruvec+0x10/0x10 [ 91.734394][ T69] ? shrink_node+0x2ed4/0x3b60 [ 91.734409][ T69] shrink_one+0x2a2/0x730 [ 91.734423][ T69] ? shrink_node+0x2ed4/0x3b60 [ 91.734437][ T69] shrink_node+0x3303/0x3b60 [ 91.734453][ T69] ? shrink_node+0x2ed4/0x3b60 [ 91.734470][ T69] ? percpu_ref_put+0x19/0x180 [ 91.734480][ T69] ? percpu_ref_put+0x19/0x180 [ 91.734489][ T69] ? __pfx_shrink_node+0x10/0x10 [ 91.734505][ T69] ? percpu_ref_put+0x19/0x180 [ 91.734514][ T69] ? percpu_ref_put+0x19/0x180 [ 91.734524][ T69] ? mem_cgroup_iter+0x410/0x440 [ 91.734536][ T69] ? mem_cgroup_iter+0x3b/0x440 [ 91.734548][ T69] kswapd+0x17b6/0x31c0 [ 91.734561][ T69] ? kswapd+0x9b6/0x31c0 [ 91.734572][ T69] ? __pfx_kswapd+0x10/0x10 [ 91.734582][ T69] ? trace_contention_end+0x3d/0x140 [ 91.734596][ T69] ? __lock_acquire+0x683/0x2cf0 [ 91.734607][ T69] ? kthread_affine_node+0x2b2/0x360 [ 91.734618][ T69] ? __mutex_unlock_slowpath+0x731/0x900 [ 91.734638][ T69] ? __pfx_autoremove_wake_function+0x10/0x10 [ 91.734653][ T69] ? __kthread_parkme+0x71/0x1f0 [ 91.734669][ T69] ? __kthread_parkme+0x196/0x1f0 [ 91.734681][ T69] kthread+0x388/0x470 [ 91.734689][ T69] ? __pfx_kswapd+0x10/0x10 [ 91.734695][ T69] ? __pfx_kthread+0x10/0x10 [ 91.734704][ T69] ret_from_fork+0x514/0xb70 [ 91.734717][ T69] ? __pfx_ret_from_fork+0x10/0x10 [ 91.734727][ T69] ? __switch_to+0xc89/0x1420 [ 91.734744][ T69] ? __pfx_kthread+0x10/0x10 [ 91.734754][ T69] ret_from_fork_asm+0x1a/0x30 [ 91.734770][ T69]