program: syz_mount_image$ext4(&(0x7f0000000240)='ext4\x00', &(0x7f0000000280)='mnt\x00', 0x4, &(0x7f0000000040), 0x0, 0x258, &(0x7f0000000780)="$eJzs3UFoHFUYB/BvZneNSRaJehEEFUREAyHeBD3Ei0JAYpAgqBAR8aIkQkzwlnjqpYf23Jacegmlt6Y9llxCLy2FntI2h/RSaEMPDT20hy2TSUrabLqlu90pmd8Php3ZmTffG2b/b/YyvABKayAiRiKiEhGDEVGLiGTvAR/ly8DO5mLv6mREo/HjvWT7uHw7t9uuPyIWIuLLiFhJk/irGjG3/MvGg7XvPj06W/vk9PLPvV29yB2bG+vfb50aO3Ju9Iu5K9fujCUxEvWnrqvzkibfVZOId15FsddEUi26B7yI8f/OXs9y/25EfLyd/1qkkd+8YzNvrNTi85MHtT1+9+r73ewr0HmNRi17Bi40gNJJI6IeSToUEfl6mg4N5f/hb1T60r+nZ/4d/HN6duqPokcqoFPqEevfXug53/9M/m9X8vwDh1eW/4nxpZvZ+lal6N4A3ZTlf/C3+c/igPy/WUCfgE5Jn7u3Vf6Bw0v+obzkH8qrM/nv72ifgO7w/Ifykn845L4+eJf8Q3nJP5SX/EN57c0/AFAujZ6i30AGilL0+AMAAAAAAAAAAAAAAAAAAOy32Ls6ubt0q+alExGb30REtVn9ys4MZvlMhH33k+ywJ5K8WVt+/bDNE7TpTMFvX791q9j6lz/owEkmfnjppvNTEQv/R8Rwtbr/95e0mEGvtbdb7K/93maBNn31U7H1Hy0VW390LeJiNv4MNxt/0nhv+7P5+FPP7l+b9f952OYJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6JrHAQAA//+wa24f") 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', 0x0) 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(&(0x7f00000000c0)='mnt/encrypted_dir\x00', &(0x7f0000000100)='./file0\x00') ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r1, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r2, &(0x7f0000002d00)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x820}}, {{&(0x7f0000001580)=@file={0x1, './file0\x00'}, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x40042}}], 0x2, 0x20000000) [ 91.893527][ T5297] Bluetooth: hci0: command tx timeout [ 92.153486][ T9] cfg80211: failed to load regulatory.db [ 92.166767][ T5317] loop0: detected capacity change from 0 to 128 [ 92.295212][ T5317] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 92.321080][ T5317] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 92.346968][ T5317] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 92.391531][ T5317] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 92.456255][ T78] [ 92.457457][ T78] ====================================================== [ 92.460588][ T78] WARNING: possible circular locking dependency detected [ 92.463755][ T78] syzkaller #0 Not tainted [ 92.465747][ T78] ------------------------------------------------------ [ 92.468675][ T78] kswapd0/78 is trying to acquire lock: [ 92.471062][ T78] ffff888033749098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x250 [ 92.478122][ T78] [ 92.478122][ T78] but task is already holding lock: [ 92.481199][ T78] ffffffff8e882a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x90d/0x2800 [ 92.484585][ T78] [ 92.484585][ T78] which lock already depends on the new lock. [ 92.484585][ T78] [ 92.488946][ T78] [ 92.488946][ T78] the existing dependency chain (in reverse order) is: [ 92.492737][ T78] [ 92.492737][ T78] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 92.495919][ T78] fs_reclaim_acquire+0x71/0x100 [ 92.498287][ T78] __kmalloc_cache_noprof+0x40/0x6e0 [ 92.500673][ T78] assoc_array_insert+0x92/0x2f60 [ 92.502873][ T78] __key_link_begin+0xd6/0x1f0 [ 92.505110][ T78] __key_create_or_update+0x449/0xa80 [ 92.507759][ T78] key_create_or_update+0x42/0x60 [ 92.510138][ T78] x509_load_certificate_list+0x145/0x280 [ 92.512796][ T78] do_one_initcall+0x250/0x840 [ 92.516272][ T78] do_initcall_level+0x104/0x190 [ 92.519090][ T78] do_initcalls+0x59/0xa0 [ 92.521275][ T78] kernel_init_freeable+0x2a6/0x3d0 [ 92.523746][ T78] kernel_init+0x1d/0x1d0 [ 92.525981][ T78] ret_from_fork+0x51e/0xb90 [ 92.528109][ T78] ret_from_fork_asm+0x1a/0x30 [ 92.530187][ T78] [ 92.530187][ T78] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 92.533172][ T78] __lock_acquire+0x15a5/0x2cf0 [ 92.535068][ T78] lock_acquire+0x106/0x330 [ 92.537125][ T78] down_write+0x96/0x200 [ 92.539336][ T78] keyring_clear+0xaf/0x250 [ 92.541667][ T78] fscrypt_put_master_key+0xca/0x190 [ 92.544297][ T78] put_crypt_info+0x26d/0x310 [ 92.546577][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 92.550987][ T78] ext4_clear_inode+0x170/0x2f0 [ 92.553520][ T78] ext4_evict_inode+0x9fb/0xe60 [ 92.555757][ T78] evict+0x61e/0xb10 [ 92.557553][ T78] __dentry_kill+0x1a2/0x5e0 [ 92.559657][ T78] shrink_kill+0xa9/0x2c0 [ 92.561604][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 92.563796][ T78] prune_dcache_sb+0x119/0x180 [ 92.566126][ T78] super_cache_scan+0x369/0x4b0 [ 92.568411][ T78] do_shrink_slab+0x6df/0x10d0 [ 92.570738][ T78] shrink_slab+0x830/0x1150 [ 92.572978][ T78] shrink_one+0x2d9/0x710 [ 92.575092][ T78] shrink_node+0x2f8b/0x35f0 [ 92.577265][ T78] kswapd+0x144c/0x2800 [ 92.579310][ T78] kthread+0x388/0x470 [ 92.581407][ T78] ret_from_fork+0x51e/0xb90 [ 92.583600][ T78] ret_from_fork_asm+0x1a/0x30 [ 92.585976][ T78] [ 92.585976][ T78] other info that might help us debug this: [ 92.585976][ T78] [ 92.590463][ T78] Possible unsafe locking scenario: [ 92.590463][ T78] [ 92.593752][ T78] CPU0 CPU1 [ 92.596179][ T78] ---- ---- [ 92.598649][ T78] lock(fs_reclaim); [ 92.600605][ T78] lock(&type->lock_class); [ 92.603696][ T78] lock(fs_reclaim); [ 92.606201][ T78] lock(&type->lock_class); [ 92.608081][ T78] [ 92.608081][ T78] *** DEADLOCK *** [ 92.608081][ T78] [ 92.611219][ T78] 2 locks held by kswapd0/78: [ 92.613174][ T78] #0: ffffffff8e882a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x90d/0x2800 [ 92.616738][ T78] #1: ffff88803811a0e0 (&type->s_umount_key#33){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 92.621106][ T78] [ 92.621106][ T78] stack backtrace: [ 92.623672][ T78] CPU: 0 UID: 0 PID: 78 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 92.623686][ T78] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 92.623706][ T78] Call Trace: [ 92.623787][ T78] [ 92.623794][ T78] dump_stack_lvl+0xe8/0x150 [ 92.623811][ T78] print_circular_bug+0x2e1/0x300 [ 92.623845][ T78] check_noncircular+0x12e/0x150 [ 92.623858][ T78] __lock_acquire+0x15a5/0x2cf0 [ 92.623869][ T78] ? stack_trace_save+0xa9/0x100 [ 92.623888][ T78] ? keyring_clear+0xaf/0x250 [ 92.623973][ T78] lock_acquire+0x106/0x330 [ 92.623983][ T78] ? keyring_clear+0xaf/0x250 [ 92.624000][ T78] down_write+0x96/0x200 [ 92.624045][ T78] ? keyring_clear+0xaf/0x250 [ 92.624058][ T78] ? __pfx_down_write+0x10/0x10 [ 92.624075][ T78] keyring_clear+0xaf/0x250 [ 92.624100][ T78] ? __pfx_keyring_clear+0x10/0x10 [ 92.624116][ T78] fscrypt_put_master_key+0xca/0x190 [ 92.624152][ T78] put_crypt_info+0x26d/0x310 [ 92.624165][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 92.624178][ T78] ext4_clear_inode+0x170/0x2f0 [ 92.624203][ T78] ext4_evict_inode+0x9fb/0xe60 [ 92.624231][ T78] ? inode_wait_for_writeback+0x16d/0x3b0 [ 92.624243][ T78] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 92.624252][ T78] ? do_raw_spin_lock+0x12b/0x2f0 [ 92.624265][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 92.624277][ T78] ? do_raw_spin_unlock+0x4d/0x210 [ 92.624296][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 92.624308][ T78] evict+0x61e/0xb10 [ 92.624339][ T78] ? __pfx_evict+0x10/0x10 [ 92.624349][ T78] ? _raw_spin_unlock+0x28/0x50 [ 92.624360][ T78] ? iput+0xb25/0xe80 [ 92.624375][ T78] __dentry_kill+0x1a2/0x5e0 [ 92.624403][ T78] ? shrink_kill+0x8d/0x2c0 [ 92.624416][ T78] shrink_kill+0xa9/0x2c0 [ 92.624429][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 92.624443][ T78] prune_dcache_sb+0x119/0x180 [ 92.624457][ T78] ? __pfx_prune_dcache_sb+0x10/0x10 [ 92.624471][ T78] ? list_lru_count_one+0x27/0x2c0 [ 92.624484][ T78] ? list_lru_count_one+0x264/0x2c0 [ 92.624496][ T78] super_cache_scan+0x369/0x4b0 [ 92.624531][ T78] do_shrink_slab+0x6df/0x10d0 [ 92.624565][ T78] shrink_slab+0x830/0x1150 [ 92.624579][ T78] ? shrink_slab+0x1ef/0x1150 [ 92.624592][ T78] ? __pfx_shrink_slab+0x10/0x10 [ 92.624608][ T78] shrink_one+0x2d9/0x710 [ 92.624621][ T78] ? shrink_node+0x2d4d/0x35f0 [ 92.624633][ T78] shrink_node+0x2f8b/0x35f0 [ 92.624646][ T78] ? shrink_node+0x2d4d/0x35f0 [ 92.624658][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 92.624669][ T78] ? percpu_ref_put+0x19/0x180 [ 92.624681][ T78] ? percpu_ref_put+0x19/0x180 [ 92.624694][ T78] ? __pfx_shrink_node+0x10/0x10 [ 92.624704][ T78] ? percpu_ref_put+0x19/0x180 [ 92.624720][ T78] ? mem_cgroup_iter+0x420/0x450 [ 92.624734][ T78] ? mem_cgroup_iter+0x3b/0x450 [ 92.624747][ T78] kswapd+0x144c/0x2800 [ 92.624765][ T78] ? kswapd+0x90d/0x2800 [ 92.624780][ T78] ? __pfx_kswapd+0x10/0x10 [ 92.624794][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 92.624805][ T78] ? __mutex_unlock_slowpath+0x1bd/0x7d0 [ 92.624820][ T78] ? __pfx___mutex_unlock_slowpath+0x10/0x10 [ 92.624837][ T78] ? __pfx_autoremove_wake_function+0x10/0x10 [ 92.624851][ T78] ? __kthread_parkme+0x7a/0x1f0 [ 92.624864][ T78] kthread+0x388/0x470 [ 92.624890][ T78] ? __pfx_kswapd+0x10/0x10 [ 92.624903][ T78] ? __pfx_kthread+0x10/0x10 [ 92.624915][ T78] ret_from_fork+0x51e/0xb90 [ 92.624942][ T78] ? __pfx_ret_from_fork+0x10/0x10 [ 92.624952][ T78] ? __switch_to+0xc7d/0x1400 [ 92.624969][ T78] ? __pfx_kthread+0x10/0x10 [ 92.624980][ T78] ret_from_fork_asm+0x1a/0x30 [ 92.625025][ T78]