program: r0 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000000), 0x842, 0x0) ioctl$sock_ipv6_tunnel_SIOCGET6RD(r0, 0x89f8, &(0x7f0000000140)={'syztnl0\x00', &(0x7f0000000300)={'ip_vti0\x00', 0x0, 0x10, 0x700, 0x2b4f3199, 0x246, {{0x2c, 0x4, 0x1, 0x30, 0xb0, 0x66, 0x0, 0x0, 0x0, 0x0, @remote, @initdev={0xac, 0x1e, 0x0, 0x0}, {[@generic={0x88, 0xd, "377a2f3b663f2920d45bec"}, @generic={0xc2, 0xc, "e19fbc673e43b082ecf3"}, @timestamp_addr={0x44, 0x24, 0xdb, 0x1, 0xf, [{@empty, 0x4}, {@loopback, 0xafa}, {@initdev={0xac, 0x1e, 0x1, 0x0}, 0x3}, {@broadcast, 0x3}]}, @timestamp={0x44, 0x18, 0xd0, 0x0, 0x2, [0x7, 0x7, 0x8, 0x1000, 0xfc4]}, @generic={0x44, 0x11, "456ef4be883abbb35002ae6e5870fc"}, @ssrr={0x89, 0x17, 0xc8, [@multicast1, @multicast2, @local, @empty, @local]}, @lsrr={0x83, 0x7, 0xea, [@loopback]}, @rr={0x7, 0x17, 0x16, [@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, @multicast1, @dev={0xac, 0x14, 0x14, 0xf}, @initdev={0xac, 0x1e, 0x1, 0x0}]}]}}}}}) 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") 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}) mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x0) 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') symlink(&(0x7f00000000c0)='mnt/encrypted_dir\x00', &(0x7f0000000100)='./file0\x00') ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r2, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r3, &(0x7f0000002d00)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x820}}, {{&(0x7f0000001580)=@file={0x1, './file0\x00'}, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x40042}}], 0x2, 0x20000000) [ 69.333709][ T5310] Bluetooth: hci0: command tx timeout [ 69.406876][ T5330] loop0: detected capacity change from 0 to 128 [ 69.430551][ T5330] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 69.446355][ T5330] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 69.510561][ T5330] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 69.536580][ T5330] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 69.604011][ T79] [ 69.605048][ T79] ====================================================== [ 69.608154][ T79] WARNING: possible circular locking dependency detected [ 69.611225][ T79] syzkaller #0 Not tainted [ 69.613287][ T79] ------------------------------------------------------ [ 69.616336][ T79] kswapd0/79 is trying to acquire lock: [ 69.618786][ T79] ffff888042928098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x240 [ 69.622545][ T79] [ 69.622545][ T79] but task is already holding lock: [ 69.625680][ T79] ffffffff8de44f40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 [ 69.629070][ T79] [ 69.629070][ T79] which lock already depends on the new lock. [ 69.629070][ T79] [ 69.633029][ T79] [ 69.633029][ T79] the existing dependency chain (in reverse order) is: [ 69.636860][ T79] [ 69.636860][ T79] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 69.640116][ T79] lock_acquire+0x120/0x360 [ 69.642255][ T79] fs_reclaim_acquire+0x72/0x100 [ 69.644560][ T79] __kmalloc_cache_noprof+0x40/0x6f0 [ 69.646914][ T79] assoc_array_insert+0x92/0x2f90 [ 69.649248][ T79] __key_link_begin+0xd6/0x1f0 [ 69.651438][ T79] __key_create_or_update+0x41a/0xa30 [ 69.653988][ T79] key_create_or_update+0x42/0x60 [ 69.656366][ T79] x509_load_certificate_list+0x145/0x280 [ 69.659150][ T79] do_one_initcall+0x233/0x820 [ 69.661461][ T79] do_initcall_level+0x104/0x190 [ 69.663809][ T79] do_initcalls+0x59/0xa0 [ 69.666073][ T79] kernel_init_freeable+0x334/0x4b0 [ 69.668516][ T79] kernel_init+0x1d/0x1d0 [ 69.670695][ T79] ret_from_fork+0x436/0x7d0 [ 69.672926][ T79] ret_from_fork_asm+0x1a/0x30 [ 69.675248][ T79] [ 69.675248][ T79] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 69.678719][ T79] validate_chain+0xb9b/0x2140 [ 69.681017][ T79] __lock_acquire+0xab9/0xd20 [ 69.683308][ T79] lock_acquire+0x120/0x360 [ 69.685501][ T79] down_write+0x96/0x1f0 [ 69.687615][ T79] keyring_clear+0xaf/0x240 [ 69.689793][ T79] fscrypt_put_master_key+0xca/0x190 [ 69.692258][ T79] put_crypt_info+0x26d/0x310 [ 69.694398][ T79] fscrypt_put_encryption_info+0xf6/0x140 [ 69.697105][ T79] ext4_clear_inode+0x170/0x2f0 [ 69.699475][ T79] ext4_evict_inode+0xa67/0xee0 [ 69.701693][ T79] evict+0x501/0x9c0 [ 69.703596][ T79] __dentry_kill+0x209/0x660 [ 69.705638][ T79] shrink_kill+0xa9/0x2c0 [ 69.707705][ T79] shrink_dentry_list+0x2e0/0x5e0 [ 69.710042][ T79] prune_dcache_sb+0x10e/0x180 [ 69.712451][ T79] super_cache_scan+0x369/0x4b0 [ 69.714733][ T79] do_shrink_slab+0x6ef/0x1110 [ 69.717000][ T79] shrink_slab+0x7ef/0x10d0 [ 69.719525][ T79] shrink_one+0x28a/0x7c0 [ 69.721546][ T79] shrink_node+0x315d/0x3780 [ 69.723711][ T79] kswapd+0x147c/0x2800 [ 69.725791][ T79] kthread+0x70e/0x8a0 [ 69.727951][ T79] ret_from_fork+0x436/0x7d0 [ 69.730241][ T79] ret_from_fork_asm+0x1a/0x30 [ 69.732528][ T79] [ 69.732528][ T79] other info that might help us debug this: [ 69.732528][ T79] [ 69.736920][ T79] Possible unsafe locking scenario: [ 69.736920][ T79] [ 69.740143][ T79] CPU0 CPU1 [ 69.742402][ T79] ---- ---- [ 69.744678][ T79] lock(fs_reclaim); [ 69.746576][ T79] lock(&type->lock_class); [ 69.749708][ T79] lock(fs_reclaim); [ 69.752480][ T79] lock(&type->lock_class); [ 69.754483][ T79] [ 69.754483][ T79] *** DEADLOCK *** [ 69.754483][ T79] [ 69.758148][ T79] 2 locks held by kswapd0/79: [ 69.760240][ T79] #0: ffffffff8de44f40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 [ 69.763805][ T79] #1: ffff88801e7360e0 (&type->s_umount_key#31){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 69.768076][ T79] [ 69.768076][ T79] stack backtrace: [ 69.770509][ T79] CPU: 0 UID: 0 PID: 79 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 69.770519][ T79] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 69.770524][ T79] Call Trace: [ 69.770529][ T79] [ 69.770533][ T79] dump_stack_lvl+0x189/0x250 [ 69.770546][ T79] ? __pfx_dump_stack_lvl+0x10/0x10 [ 69.770555][ T79] ? __pfx__printk+0x10/0x10 [ 69.770565][ T79] ? print_lock_name+0xde/0x100 [ 69.770575][ T79] print_circular_bug+0x2ee/0x310 [ 69.770585][ T79] check_noncircular+0x134/0x160 [ 69.770594][ T79] validate_chain+0xb9b/0x2140 [ 69.770612][ T79] __lock_acquire+0xab9/0xd20 [ 69.770624][ T79] ? keyring_clear+0xaf/0x240 [ 69.770637][ T79] lock_acquire+0x120/0x360 [ 69.770645][ T79] ? keyring_clear+0xaf/0x240 [ 69.770660][ T79] down_write+0x96/0x1f0 [ 69.770670][ T79] ? keyring_clear+0xaf/0x240 [ 69.770681][ T79] ? __pfx_down_write+0x10/0x10 [ 69.770692][ T79] keyring_clear+0xaf/0x240 [ 69.770704][ T79] ? __pfx_keyring_clear+0x10/0x10 [ 69.770719][ T79] fscrypt_put_master_key+0xca/0x190 [ 69.770730][ T79] put_crypt_info+0x26d/0x310 [ 69.770742][ T79] fscrypt_put_encryption_info+0xf6/0x140 [ 69.770754][ T79] ext4_clear_inode+0x170/0x2f0 [ 69.770766][ T79] ext4_evict_inode+0xa67/0xee0 [ 69.770779][ T79] ? inode_wait_for_writeback+0xf9/0x290 [ 69.770796][ T79] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 69.770811][ T79] ? __pfx_ext4_evict_inode+0x10/0x10 [ 69.770823][ T79] ? do_raw_spin_unlock+0x4d/0x240 [ 69.770837][ T79] ? __pfx_ext4_evict_inode+0x10/0x10 [ 69.770848][ T79] evict+0x501/0x9c0 [ 69.770861][ T79] ? __pfx_evict+0x10/0x10 [ 69.770871][ T79] ? _raw_spin_unlock+0x28/0x50 [ 69.770883][ T79] ? iput+0x946/0xc50 [ 69.770921][ T79] __dentry_kill+0x209/0x660 [ 69.770935][ T79] ? shrink_kill+0x8d/0x2c0 [ 69.770949][ T79] shrink_kill+0xa9/0x2c0 [ 69.770963][ T79] shrink_dentry_list+0x2e0/0x5e0 [ 69.770979][ T79] prune_dcache_sb+0x10e/0x180 [ 69.770991][ T79] ? __pfx_prune_dcache_sb+0x10/0x10 [ 69.771001][ T79] ? list_lru_count_one+0x27/0x2c0 [ 69.771011][ T79] ? list_lru_count_one+0x264/0x2c0 [ 69.771020][ T79] super_cache_scan+0x369/0x4b0 [ 69.771030][ T79] do_shrink_slab+0x6ef/0x1110 [ 69.771042][ T79] shrink_slab+0x7ef/0x10d0 [ 69.771053][ T79] ? shrink_slab+0x1e8/0x10d0 [ 69.771068][ T79] ? __pfx_shrink_slab+0x10/0x10 [ 69.771085][ T79] shrink_one+0x28a/0x7c0 [ 69.771100][ T79] ? shrink_node+0x2f1f/0x3780 [ 69.771114][ T79] shrink_node+0x315d/0x3780 [ 69.771129][ T79] ? shrink_node+0x2f1f/0x3780 [ 69.771144][ T79] ? __lock_acquire+0xab9/0xd20 [ 69.771155][ T79] ? percpu_ref_put+0x19/0x180 [ 69.771170][ T79] ? __pfx_shrink_node+0x10/0x10 [ 69.771182][ T79] ? percpu_ref_put+0x19/0x180 [ 69.771197][ T79] ? mem_cgroup_iter+0x420/0x460 [ 69.771206][ T79] ? mem_cgroup_iter+0x3b/0x460 [ 69.771215][ T79] kswapd+0x147c/0x2800 [ 69.771228][ T79] ? kswapd+0x951/0x2800 [ 69.771240][ T79] ? __pfx_kswapd+0x10/0x10 [ 69.771251][ T79] ? __lock_acquire+0xab9/0xd20 [ 69.771266][ T79] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 69.771279][ T79] ? _raw_spin_unlock+0x20/0x50 [ 69.771289][ T79] ? __pfx_autoremove_wake_function+0x10/0x10 [ 69.771303][ T79] ? __pfx_set_cpus_allowed_ptr+0x10/0x10 [ 69.771317][ T79] ? __kthread_parkme+0x7b/0x200 [ 69.771328][ T79] ? __kthread_parkme+0x1a1/0x200 [ 69.771342][ T79] kthread+0x70e/0x8a0 [ 69.771355][ T79] ? __pfx_kswapd+0x10/0x10 [ 69.771365][ T79] ? __pfx_kthread+0x10/0x10 [ 69.771379][ T79] ? _raw_spin_unlock_irq+0x23/0x50 [ 69.771391][ T79] ? lockdep_hardirqs_on+0x9c/0x150 [ 69.771405][ T79] ? __pfx_kthread+0x10/0x10 [ 69.771418][ T79] ret_from_fork+0x436/0x7d0 [ 69.771429][ T79] ? __pfx_ret_from_fork+0x10/0x10 [ 69.771442][ T79] ? __pfx_kthread+0x10/0x10 [ 69.771454][ T79] ret_from_fork_asm+0x1a/0x30 [ 69.771471][ T79]