program: creat(&(0x7f00000002c0)='./file0\x00', 0x0) r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) mmap$xdp(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x12, r0, 0x0) r1 = creat(&(0x7f00000002c0)='./file0\x00', 0x0) mount$fuse(0x0, 0x0, 0x0, 0x0, &(0x7f0000000200)={{}, 0x2c, {'rootmode', 0x3d, 0x4000}}) perf_event_open(&(0x7f0000000380)={0x2, 0x80, 0x27, 0x2, 0x0, 0x0, 0x0, 0x100000001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x3}, 0x9805, 0x3, 0x7fc, 0x6, 0x0, 0x1, 0x6}, 0x0, 0xffbfffffffffffff, 0xffffffffffffffff, 0x9) r2 = open(&(0x7f00009e1000)='./file0\x00', 0x149040, 0x12) fcntl$setsig(r2, 0xa, 0x13) fcntl$setlease(r2, 0x400, 0x0) timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000280)) timer_settime(0x0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) truncate(&(0x7f0000000080)='./file0\x00', 0x4) fcntl$setlease(r2, 0x400, 0x2) 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=") r3 = openat(0xffffffffffffff9c, &(0x7f0000000540)='mnt\x00', 0x0, 0x0) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r3, 0xc0506617, &(0x7f0000000580)={@id={0x2, 0x0, @a}, 0x40, 0x0, '\x00', @a}) mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x0) r4 = openat(0xffffffffffffff9c, &(0x7f0000000680)='mnt/encrypted_dir\x00', 0x800, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r4, 0x800c6613, &(0x7f00000006c0)=@v2={0x2, @aes256, 0x0, '\x00', @a}) chdir(&(0x7f00000002c0)='mnt/encrypted_dir\x00') mknodat(0xffffffffffffff9c, &(0x7f0000000140)='./file4\x00', 0x40, 0x0) linkat(0xffffffffffffff9c, &(0x7f0000000000)='./file4\x00', 0xffffffffffffff9c, &(0x7f00000006c0)='./file5\x00', 0x0) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r4, 0xc0406619, &(0x7f0000000140)={@id={0x2, 0x0, @a}}) write$FUSE_NOTIFY_INVAL_ENTRY(r1, &(0x7f0000000200)=ANY=[], 0x22) perf_event_open(&(0x7f00000000c0)={0x8, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000080)}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) [ 73.650273][ T5295] Bluetooth: hci0: command tx timeout [ 73.727574][ T5315] loop0: detected capacity change from 0 to 128 [ 73.779350][ T5315] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 73.806691][ T5315] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 73.848078][ T5315] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 73.864203][ T5315] fscrypt: AES-256-XTS using implementation "xts-aes-aesni-avx" [ 73.875572][ T5315] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 73.932110][ T78] [ 73.933258][ T78] ====================================================== [ 73.936326][ T78] WARNING: possible circular locking dependency detected [ 73.939431][ T78] syzkaller #0 Not tainted [ 73.941443][ T78] ------------------------------------------------------ [ 73.944539][ T78] kswapd0/78 is trying to acquire lock: [ 73.946910][ T78] ffff888000c9e098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x250 [ 73.951100][ T78] [ 73.951100][ T78] but task is already holding lock: [ 73.954424][ T78] ffffffff8e886800 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x91a/0x2a40 [ 73.958361][ T78] [ 73.958361][ T78] which lock already depends on the new lock. [ 73.958361][ T78] [ 73.962766][ T78] [ 73.962766][ T78] the existing dependency chain (in reverse order) is: [ 73.966646][ T78] [ 73.966646][ T78] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 73.969768][ T78] fs_reclaim_acquire+0x71/0x100 [ 73.972098][ T78] __kmalloc_cache_noprof+0x40/0x660 [ 73.974701][ T78] assoc_array_insert+0x92/0x2f60 [ 73.977232][ T78] __key_link_begin+0xd6/0x1f0 [ 73.979539][ T78] __key_create_or_update+0x449/0xa80 [ 73.982061][ T78] key_create_or_update+0x42/0x60 [ 73.984238][ T78] x509_load_certificate_list+0x145/0x280 [ 73.986693][ T78] do_one_initcall+0x250/0x8d0 [ 73.988762][ T78] do_initcall_level+0x104/0x190 [ 73.990905][ T78] do_initcalls+0x59/0xa0 [ 73.993013][ T78] kernel_init_freeable+0x2a6/0x3e0 [ 73.995485][ T78] kernel_init+0x1d/0x1d0 [ 73.997626][ T78] ret_from_fork+0x51e/0xb90 [ 73.999784][ T78] ret_from_fork_asm+0x1a/0x30 [ 74.002110][ T78] [ 74.002110][ T78] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 74.005409][ T78] __lock_acquire+0x15a5/0x2cf0 [ 74.007757][ T78] lock_acquire+0xf0/0x2e0 [ 74.009897][ T78] down_write+0x96/0x200 [ 74.011875][ T78] keyring_clear+0xaf/0x250 [ 74.013810][ T78] fscrypt_put_master_key+0xca/0x190 [ 74.017183][ T78] put_crypt_info+0x26d/0x310 [ 74.019343][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 74.022002][ T78] ext4_evict_inode+0x9fb/0xeb0 [ 74.024331][ T78] evict+0x61e/0xb10 [ 74.026258][ T78] __dentry_kill+0x1a2/0x5e0 [ 74.028533][ T78] shrink_kill+0xa9/0x2c0 [ 74.030673][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 74.033031][ T78] prune_dcache_sb+0x119/0x180 [ 74.035227][ T78] super_cache_scan+0x369/0x4b0 [ 74.037259][ T78] do_shrink_slab+0x6df/0x1170 [ 74.039543][ T78] shrink_slab+0x830/0x1150 [ 74.041715][ T78] shrink_one+0x2d9/0x710 [ 74.043833][ T78] shrink_node+0x30e2/0x39d0 [ 74.046043][ T78] kswapd+0x13ef/0x2a40 [ 74.048178][ T78] kthread+0x388/0x470 [ 74.050306][ T78] ret_from_fork+0x51e/0xb90 [ 74.052644][ T78] ret_from_fork_asm+0x1a/0x30 [ 74.054966][ T78] [ 74.054966][ T78] other info that might help us debug this: [ 74.054966][ T78] [ 74.059078][ T78] Possible unsafe locking scenario: [ 74.059078][ T78] [ 74.062490][ T78] CPU0 CPU1 [ 74.064891][ T78] ---- ---- [ 74.067235][ T78] lock(fs_reclaim); [ 74.068996][ T78] lock(&type->lock_class); [ 74.072239][ T78] lock(fs_reclaim); [ 74.075104][ T78] lock(&type->lock_class); [ 74.077198][ T78] [ 74.077198][ T78] *** DEADLOCK *** [ 74.077198][ T78] [ 74.080722][ T78] 2 locks held by kswapd0/78: [ 74.082859][ T78] #0: ffffffff8e886800 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x91a/0x2a40 [ 74.086608][ T78] #1: ffff8880449a40e0 (&type->s_umount_key#33){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 74.091058][ T78] [ 74.091058][ T78] stack backtrace: [ 74.093695][ T78] CPU: 0 UID: 0 PID: 78 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 74.093710][ T78] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 74.093717][ T78] Call Trace: [ 74.093770][ T78] [ 74.093823][ T78] dump_stack_lvl+0xe8/0x150 [ 74.093844][ T78] print_circular_bug+0x2e1/0x300 [ 74.093858][ T78] check_noncircular+0x12e/0x150 [ 74.093873][ T78] __lock_acquire+0x15a5/0x2cf0 [ 74.093890][ T78] ? check_noncircular+0xda/0x150 [ 74.093924][ T78] lock_acquire+0xf0/0x2e0 [ 74.093936][ T78] ? keyring_clear+0xaf/0x250 [ 74.093950][ T78] down_write+0x96/0x200 [ 74.093960][ T78] ? keyring_clear+0xaf/0x250 [ 74.093970][ T78] ? __pfx_down_write+0x10/0x10 [ 74.093982][ T78] keyring_clear+0xaf/0x250 [ 74.093994][ T78] ? __pfx_keyring_clear+0x10/0x10 [ 74.094005][ T78] ? crypto_destroy_tfm+0x36/0x320 [ 74.094020][ T78] fscrypt_put_master_key+0xca/0x190 [ 74.094035][ T78] put_crypt_info+0x26d/0x310 [ 74.094046][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 74.094056][ T78] ext4_evict_inode+0x9fb/0xeb0 [ 74.094067][ T78] ? inode_wait_for_writeback+0x16d/0x3b0 [ 74.094106][ T78] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 74.094118][ T78] ? do_raw_spin_lock+0x12b/0x2f0 [ 74.094126][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 74.094136][ T78] ? do_raw_spin_unlock+0x4d/0x210 [ 74.094145][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 74.094155][ T78] evict+0x61e/0xb10 [ 74.094166][ T78] ? __pfx_evict+0x10/0x10 [ 74.094175][ T78] ? _raw_spin_unlock+0x28/0x50 [ 74.094187][ T78] ? iput+0xb25/0xe80 [ 74.094202][ T78] __dentry_kill+0x1a2/0x5e0 [ 74.094220][ T78] ? shrink_kill+0x8d/0x2c0 [ 74.094233][ T78] shrink_kill+0xa9/0x2c0 [ 74.094244][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 74.094256][ T78] prune_dcache_sb+0x119/0x180 [ 74.094267][ T78] ? __pfx_prune_dcache_sb+0x10/0x10 [ 74.094280][ T78] ? list_lru_count_one+0x27/0x2c0 [ 74.094291][ T78] ? list_lru_count_one+0x264/0x2c0 [ 74.094301][ T78] super_cache_scan+0x369/0x4b0 [ 74.094318][ T78] do_shrink_slab+0x6df/0x1170 [ 74.094334][ T78] shrink_slab+0x830/0x1150 [ 74.094345][ T78] ? shrink_slab+0x1ef/0x1150 [ 74.094357][ T78] ? __pfx_shrink_slab+0x10/0x10 [ 74.094372][ T78] shrink_one+0x2d9/0x710 [ 74.094383][ T78] ? shrink_node+0x2cb8/0x39d0 [ 74.094392][ T78] shrink_node+0x30e2/0x39d0 [ 74.094403][ T78] ? shrink_node+0x2cb8/0x39d0 [ 74.094415][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 74.094427][ T78] ? percpu_ref_put+0x19/0x180 [ 74.094471][ T78] ? __pfx_shrink_node+0x10/0x10 [ 74.094481][ T78] ? percpu_ref_put+0x19/0x180 [ 74.094491][ T78] ? mem_cgroup_iter+0x420/0x450 [ 74.094504][ T78] ? mem_cgroup_iter+0x3b/0x450 [ 74.094516][ T78] kswapd+0x13ef/0x2a40 [ 74.094528][ T78] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 74.094545][ T78] ? kswapd+0x91a/0x2a40 [ 74.094559][ T78] ? __pfx_kswapd+0x10/0x10 [ 74.094572][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 74.094585][ T78] ? __mutex_unlock_slowpath+0x1bd/0x7d0 [ 74.094601][ T78] ? __pfx___mutex_unlock_slowpath+0x10/0x10 [ 74.094620][ T78] ? __pfx_autoremove_wake_function+0x10/0x10 [ 74.094672][ T78] ? __kthread_parkme+0x7a/0x1f0 [ 74.094687][ T78] kthread+0x388/0x470 [ 74.094697][ T78] ? __pfx_kswapd+0x10/0x10 [ 74.094708][ T78] ? __pfx_kthread+0x10/0x10 [ 74.094718][ T78] ret_from_fork+0x51e/0xb90 [ 74.094733][ T78] ? __pfx_ret_from_fork+0x10/0x10 [ 74.094745][ T78] ? __switch_to+0xc7d/0x1450 [ 74.094782][ T78] ? __pfx_kthread+0x10/0x10 [ 74.094792][ T78] ret_from_fork_asm+0x1a/0x30 [ 74.094824][ T78]