program: socket$nl_route(0x10, 0x3, 0x0) openat$tun(0xffffffffffffff9c, &(0x7f0000000100), 0x49083, 0x0) syz_open_dev$tty1(0xc, 0x4, 0x1) prctl$PR_SET_MM_MAP(0x23, 0xe, &(0x7f0000000080)={&(0x7f0000ffe000/0x2000)=nil, &(0x7f0000ff0000/0x10000)=nil, &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000fff000/0x1000)=nil, &(0x7f0000ff8000/0x4000)=nil, &(0x7f0000ff8000/0x3000)=nil, &(0x7f0000ff5000/0x3000)=nil, &(0x7f0000ff6000/0x2000)=nil, &(0x7f0000ff6000/0xa000)=nil, &(0x7f0000ffa000/0x1000)=nil, &(0x7f0000ffa000/0x2000)=nil, 0x0}, 0x68) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000000c0)={0x26, 'hash\x00', 0x0, 0x0, 'cmac(aes-generic)\x00'}, 0x58) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0xb635773f06ebbeef, 0x8031, 0xffffffffffffffff, 0x0) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f00000002c0)="92d69d4ecdb292d554c7beebb39b79d66d", 0x11) sendmsg$NFT_BATCH(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, 0x0}, 0x0) r1 = io_uring_setup(0x7, &(0x7f0000000040)={0x0, 0xc8a2, 0xc000, 0x8, 0xc1}) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000600)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000300)}], 0x1}, 0x0) setsockopt$bt_hci_HCI_FILTER(0xffffffffffffffff, 0x0, 0x2, &(0x7f0000000140)={0x2, [0x5, 0xfffffffe], 0x1ff}, 0x10) writev(0xffffffffffffffff, &(0x7f0000000080)=[{0x0}], 0x1) io_uring_enter(r1, 0x2219, 0xcf74, 0x16, 0x0, 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") r2 = openat(0xffffffffffffff9c, &(0x7f0000000540)='mnt\x00', 0x0, 0x0) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r2, 0xc0506617, &(0x7f0000000580)={@id={0x2, 0x0, @a}, 0x40, 0x0, '\x00', @a}) mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000680)='mnt/encrypted_dir\x00', 0x800, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r3, 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(r3, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r4, &(0x7f0000002d00)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x820}}, {{&(0x7f0000001580)=@file={0x1, './file0\x00'}, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x40042}}], 0x2, 0x20000000) [ 76.526860][ T1314] ieee802154 phy0 wpan0: encryption failed: -22 [ 76.529523][ T1314] ieee802154 phy1 wpan1: encryption failed: -22 [ 76.676440][ T5320] loop0: detected capacity change from 0 to 128 [ 76.683916][ T4666] Bluetooth: hci0: command tx timeout [ 76.721796][ T5320] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 76.765873][ T5320] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 76.791965][ T5320] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 76.817008][ T5320] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 76.866409][ T73] [ 76.867345][ T73] ====================================================== [ 76.870192][ T73] WARNING: possible circular locking dependency detected [ 76.873113][ T73] syzkaller #0 Not tainted [ 76.875024][ T73] ------------------------------------------------------ [ 76.877696][ T73] kswapd0/73 is trying to acquire lock: [ 76.879898][ T73] ffff888011058098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x240 [ 76.884052][ T73] [ 76.884052][ T73] but task is already holding lock: [ 76.887429][ T73] ffffffff8e247c40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 [ 76.891027][ T73] [ 76.891027][ T73] which lock already depends on the new lock. [ 76.891027][ T73] [ 76.895399][ T73] [ 76.895399][ T73] the existing dependency chain (in reverse order) is: [ 76.899221][ T73] [ 76.899221][ T73] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 76.902184][ T73] lock_acquire+0x120/0x360 [ 76.904395][ T73] fs_reclaim_acquire+0x72/0x100 [ 76.906829][ T73] __kmalloc_cache_noprof+0x40/0x6f0 [ 76.909284][ T73] assoc_array_insert+0x92/0x2f90 [ 76.911509][ T73] __key_link_begin+0xd6/0x1f0 [ 76.913752][ T73] __key_create_or_update+0x41a/0xa30 [ 76.916287][ T73] key_create_or_update+0x42/0x60 [ 76.918692][ T73] x509_load_certificate_list+0x145/0x280 [ 76.921491][ T73] do_one_initcall+0x236/0x820 [ 76.923840][ T73] do_initcall_level+0x104/0x190 [ 76.926356][ T73] do_initcalls+0x59/0xa0 [ 76.928401][ T73] kernel_init_freeable+0x334/0x4b0 [ 76.930685][ T73] kernel_init+0x1d/0x1d0 [ 76.932692][ T73] ret_from_fork+0x4bc/0x870 [ 76.934563][ T73] ret_from_fork_asm+0x1a/0x30 [ 76.936236][ T73] [ 76.936236][ T73] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 76.939506][ T73] validate_chain+0xb9b/0x2140 [ 76.941716][ T73] __lock_acquire+0xab9/0xd20 [ 76.944051][ T73] lock_acquire+0x120/0x360 [ 76.946279][ T73] down_write+0x96/0x1f0 [ 76.948317][ T73] keyring_clear+0xaf/0x240 [ 76.950421][ T73] fscrypt_put_master_key+0xca/0x190 [ 76.952961][ T73] put_crypt_info+0x26d/0x310 [ 76.955964][ T73] fscrypt_put_encryption_info+0xf6/0x140 [ 76.958673][ T73] ext4_clear_inode+0x170/0x2f0 [ 76.960953][ T73] ext4_evict_inode+0xa67/0xee0 [ 76.963259][ T73] evict+0x504/0x9c0 [ 76.965229][ T73] __dentry_kill+0x209/0x660 [ 76.967460][ T73] shrink_kill+0xa9/0x2c0 [ 76.969539][ T73] shrink_dentry_list+0x2e0/0x5e0 [ 76.971898][ T73] prune_dcache_sb+0x10e/0x180 [ 76.974224][ T73] super_cache_scan+0x369/0x4b0 [ 76.976575][ T73] do_shrink_slab+0x6ef/0x1110 [ 76.978897][ T73] shrink_slab+0x7ef/0x10d0 [ 76.981117][ T73] shrink_one+0x28a/0x7c0 [ 76.983209][ T73] shrink_node+0x315d/0x3780 [ 76.985478][ T73] kswapd+0x147c/0x2800 [ 76.987355][ T73] kthread+0x711/0x8a0 [ 76.989282][ T73] ret_from_fork+0x4bc/0x870 [ 76.991472][ T73] ret_from_fork_asm+0x1a/0x30 [ 76.993775][ T73] [ 76.993775][ T73] other info that might help us debug this: [ 76.993775][ T73] [ 76.998284][ T73] Possible unsafe locking scenario: [ 76.998284][ T73] [ 77.001532][ T73] CPU0 CPU1 [ 77.003877][ T73] ---- ---- [ 77.006114][ T73] lock(fs_reclaim); [ 77.007807][ T73] lock(&type->lock_class); [ 77.010853][ T73] lock(fs_reclaim); [ 77.014448][ T73] lock(&type->lock_class); [ 77.016996][ T73] [ 77.016996][ T73] *** DEADLOCK *** [ 77.016996][ T73] [ 77.020823][ T73] 2 locks held by kswapd0/73: [ 77.022997][ T73] #0: ffffffff8e247c40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 [ 77.026605][ T73] #1: ffff888042bf00e0 (&type->s_umount_key#31){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 77.030299][ T73] [ 77.030299][ T73] stack backtrace: [ 77.032452][ T73] CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 77.032462][ T73] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 77.032466][ T73] Call Trace: [ 77.032472][ T73] [ 77.032476][ T73] dump_stack_lvl+0x189/0x250 [ 77.032489][ T73] ? __pfx_dump_stack_lvl+0x10/0x10 [ 77.032496][ T73] ? __pfx__printk+0x10/0x10 [ 77.032503][ T73] ? print_lock_name+0xde/0x100 [ 77.032510][ T73] print_circular_bug+0x2ee/0x310 [ 77.032520][ T73] check_noncircular+0x134/0x160 [ 77.032530][ T73] validate_chain+0xb9b/0x2140 [ 77.032542][ T73] __lock_acquire+0xab9/0xd20 [ 77.032550][ T73] ? keyring_clear+0xaf/0x240 [ 77.032558][ T73] lock_acquire+0x120/0x360 [ 77.032565][ T73] ? keyring_clear+0xaf/0x240 [ 77.032572][ T73] down_write+0x96/0x1f0 [ 77.032582][ T73] ? keyring_clear+0xaf/0x240 [ 77.032588][ T73] ? __pfx_down_write+0x10/0x10 [ 77.032595][ T73] keyring_clear+0xaf/0x240 [ 77.032602][ T73] ? __pfx_keyring_clear+0x10/0x10 [ 77.032609][ T73] fscrypt_put_master_key+0xca/0x190 [ 77.032619][ T73] put_crypt_info+0x26d/0x310 [ 77.032628][ T73] fscrypt_put_encryption_info+0xf6/0x140 [ 77.032643][ T73] ext4_clear_inode+0x170/0x2f0 [ 77.032656][ T73] ext4_evict_inode+0xa67/0xee0 [ 77.032669][ T73] ? inode_wait_for_writeback+0xf9/0x290 [ 77.032680][ T73] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 77.032688][ T73] ? __pfx_ext4_evict_inode+0x10/0x10 [ 77.032697][ T73] ? do_raw_spin_unlock+0x4d/0x240 [ 77.032704][ T73] ? __pfx_ext4_evict_inode+0x10/0x10 [ 77.032712][ T73] evict+0x504/0x9c0 [ 77.032721][ T73] ? __pfx_evict+0x10/0x10 [ 77.032729][ T73] ? _raw_spin_unlock+0x28/0x50 [ 77.032737][ T73] ? iput+0x946/0xc50 [ 77.032744][ T73] __dentry_kill+0x209/0x660 [ 77.032752][ T73] ? shrink_kill+0x8d/0x2c0 [ 77.032758][ T73] shrink_kill+0xa9/0x2c0 [ 77.032766][ T73] shrink_dentry_list+0x2e0/0x5e0 [ 77.032773][ T73] prune_dcache_sb+0x10e/0x180 [ 77.032781][ T73] ? __pfx_prune_dcache_sb+0x10/0x10 [ 77.032788][ T73] ? list_lru_count_one+0x27/0x2c0 [ 77.032795][ T73] ? list_lru_count_one+0x264/0x2c0 [ 77.032802][ T73] super_cache_scan+0x369/0x4b0 [ 77.032810][ T73] do_shrink_slab+0x6ef/0x1110 [ 77.032820][ T73] shrink_slab+0x7ef/0x10d0 [ 77.032827][ T73] ? shrink_slab+0x1e8/0x10d0 [ 77.032835][ T73] ? __pfx_shrink_slab+0x10/0x10 [ 77.032844][ T73] shrink_one+0x28a/0x7c0 [ 77.032852][ T73] ? shrink_node+0x2f1f/0x3780 [ 77.032858][ T73] shrink_node+0x315d/0x3780 [ 77.032866][ T73] ? shrink_node+0x2f1f/0x3780 [ 77.032873][ T73] ? __lock_acquire+0xab9/0xd20 [ 77.032882][ T73] ? percpu_ref_put+0x19/0x180 [ 77.032890][ T73] ? __pfx_shrink_node+0x10/0x10 [ 77.032896][ T73] ? percpu_ref_put+0x19/0x180 [ 77.032903][ T73] ? mem_cgroup_iter+0x420/0x460 [ 77.032911][ T73] ? mem_cgroup_iter+0x3b/0x460 [ 77.032918][ T73] kswapd+0x147c/0x2800 [ 77.032931][ T73] ? kswapd+0x951/0x2800 [ 77.032940][ T73] ? __pfx_kswapd+0x10/0x10 [ 77.032948][ T73] ? __lock_acquire+0xab9/0xd20 [ 77.032959][ T73] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 77.032967][ T73] ? _raw_spin_lock_bh+0x20/0x50 [ 77.032975][ T73] ? __pfx_autoremove_wake_function+0x10/0x10 [ 77.032983][ T73] ? __pfx_set_cpus_allowed_ptr+0x10/0x10 [ 77.032993][ T73] ? __kthread_parkme+0x7b/0x200 [ 77.033006][ T73] ? __kthread_parkme+0x1a1/0x200 [ 77.033018][ T73] kthread+0x711/0x8a0 [ 77.033025][ T73] ? __pfx_kswapd+0x10/0x10 [ 77.033033][ T73] ? __pfx_kthread+0x10/0x10 [ 77.033038][ T73] ? _raw_spin_unlock_irq+0x23/0x50 [ 77.033046][ T73] ? lockdep_hardirqs_on+0x9c/0x150 [ 77.033056][ T73] ? __pfx_kthread+0x10/0x10 [ 77.033062][ T73] ret_from_fork+0x4bc/0x870 [ 77.033071][ T73] ? __pfx_ret_from_fork+0x10/0x10 [ 77.033079][ T73] ? __pfx_kthread+0x10/0x10 [ 77.033085][ T73] ret_from_fork_asm+0x1a/0x30 [ 77.033095][ T73]