program: r0 = socket$igmp6(0xa, 0x3, 0x2) ioctl$sock_inet6_SIOCADDRT(r0, 0x890b, &(0x7f00000000c0)={@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, @private0, @dev, 0x0, 0x0, 0x9, 0x0, 0x0, 0x80330}) syz_emit_ethernet(0x7a, &(0x7f0000000180)={@link_local, @dev, @val={@void}, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "f53a04", 0x40, 0x3a, 0x0, @remote, @mcast2, {[], @param_prob={0x2, 0x0, 0x0, 0x500, {0x0, 0x6, "508359", 0x0, 0x0, 0x0, @private1, @private1, [@hopopts={0x3a}, @routing={0x6}]}}}}}}}, 0x0) r1 = socket(0x10, 0x80003, 0x0) write(r1, &(0x7f0000000000)="240000001a005f0214f9f407000904000a000000fe0000000000000008000f00fd000000", 0x85) r2 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_TX_RING(r2, 0x11b, 0x3, &(0x7f00000001c0)=0x800, 0x4) 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}) openat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x183341, 0x0) r4 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r4, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r5, 0x1, &(0x7f0000000100)=[&(0x7f0000000440)={0x18, 0x7000000, 0x10, 0x0, 0x0, r4, 0x0, 0x2000}]) mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x0) r6 = syz_init_net_socket$nl_rdma(0x10, 0x3, 0x10) io_cancel(r5, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x2, 0x0, r6, &(0x7f0000000040), 0x0, 0x0, 0x0, 0x0, r3}, &(0x7f0000000700)) r7 = openat(0xffffffffffffff9c, &(0x7f0000000680)='mnt/encrypted_dir\x00', 0x800, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r7, 0x800c6613, &(0x7f00000006c0)=@v2={0x2, @aes256, 0x0, '\x00', @a}) chdir(&(0x7f00000002c0)='mnt/encrypted_dir\x00') syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)) r8 = openat(0xffffffffffffff9c, &(0x7f0000000000)='.\x00', 0x0, 0x42) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(r8, 0x8004587d, &(0x7f0000000080)={@desc={0x1, 0x0, @desc2}}) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r7, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) mount$afs(0x0, &(0x7f0000002840)='./file0\x00', 0x0, 0x700, 0x0) mmap$xdp(&(0x7f0000ffd000/0x2000)=nil, 0x2000, 0x1000009, 0x8013, r2, 0x80000000) [ 85.020633][ T4687] Bluetooth: hci0: command tx timeout [ 85.116943][ T5347] loop0: detected capacity change from 0 to 128 [ 85.194901][ T5347] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 85.211988][ T5347] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 85.249010][ T5347] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 85.270890][ T5347] EXT4-fs (loop0): shut down requested (1) [ 85.283020][ T5347] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 85.300216][ T5347] fscrypt (loop0, inode 13): Error -5 getting encryption context [ 85.303450][ T5347] EXT4-fs warning (device loop0): ext4_lookup:1797: Inconsistent encryption contexts: 12/13 [ 85.394332][ T77] [ 85.395456][ T77] ====================================================== [ 85.398519][ T77] WARNING: possible circular locking dependency detected [ 85.401518][ T77] syzkaller #0 Not tainted [ 85.403460][ T77] ------------------------------------------------------ [ 85.406484][ T77] kswapd0/77 is trying to acquire lock: [ 85.408959][ T77] ffff88804436f098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x240 [ 85.412975][ T77] [ 85.412975][ T77] but task is already holding lock: [ 85.416192][ T77] ffffffff8e051900 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x92a/0x2820 [ 85.419717][ T77] [ 85.419717][ T77] which lock already depends on the new lock. [ 85.419717][ T77] [ 85.424081][ T77] [ 85.424081][ T77] the existing dependency chain (in reverse order) is: [ 85.427346][ T77] [ 85.427346][ T77] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 85.430301][ T77] fs_reclaim_acquire+0x72/0x100 [ 85.432716][ T77] __kmalloc_cache_noprof+0x40/0x700 [ 85.435303][ T77] assoc_array_insert+0x92/0x2f90 [ 85.437788][ T77] __key_link_begin+0xd6/0x1f0 [ 85.440080][ T77] __key_create_or_update+0x41a/0xa30 [ 85.442591][ T77] key_create_or_update+0x42/0x60 [ 85.445190][ T77] x509_load_certificate_list+0x145/0x280 [ 85.447870][ T77] do_one_initcall+0x1f1/0x800 [ 85.450213][ T77] do_initcall_level+0x104/0x190 [ 85.452701][ T77] do_initcalls+0x59/0xa0 [ 85.454683][ T77] kernel_init_freeable+0x2a7/0x3d0 [ 85.457055][ T77] kernel_init+0x1d/0x1d0 [ 85.459321][ T77] ret_from_fork+0x510/0xa50 [ 85.461475][ T77] ret_from_fork_asm+0x1a/0x30 [ 85.463830][ T77] [ 85.463830][ T77] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 85.467333][ T77] __lock_acquire+0x15a6/0x2cf0 [ 85.469791][ T77] lock_acquire+0x107/0x340 [ 85.472065][ T77] down_write+0x96/0x1f0 [ 85.474175][ T77] keyring_clear+0xaf/0x240 [ 85.476496][ T77] fscrypt_put_master_key+0xca/0x190 [ 85.478918][ T77] put_crypt_info+0x26d/0x310 [ 85.481180][ T77] fscrypt_put_encryption_info+0xf6/0x140 [ 85.483856][ T77] ext4_clear_inode+0x170/0x2f0 [ 85.486166][ T77] ext4_evict_inode+0x9f6/0xe60 [ 85.488561][ T77] evict+0x5f4/0xae0 [ 85.490475][ T77] __dentry_kill+0x209/0x660 [ 85.492673][ T77] shrink_kill+0xa9/0x2c0 [ 85.494760][ T77] shrink_dentry_list+0x2e0/0x5e0 [ 85.497165][ T77] prune_dcache_sb+0x10e/0x180 [ 85.499452][ T77] super_cache_scan+0x369/0x4b0 [ 85.501583][ T77] do_shrink_slab+0x6df/0x10d0 [ 85.503726][ T77] shrink_slab+0x7ef/0x10d0 [ 85.505653][ T77] shrink_one+0x2d9/0x720 [ 85.507636][ T77] shrink_node+0x2f7d/0x35b0 [ 85.509930][ T77] kswapd+0x145a/0x2820 [ 85.511945][ T77] kthread+0x711/0x8a0 [ 85.513745][ T77] ret_from_fork+0x510/0xa50 [ 85.515897][ T77] ret_from_fork_asm+0x1a/0x30 [ 85.518168][ T77] [ 85.518168][ T77] other info that might help us debug this: [ 85.518168][ T77] [ 85.522339][ T77] Possible unsafe locking scenario: [ 85.522339][ T77] [ 85.525479][ T77] CPU0 CPU1 [ 85.527863][ T77] ---- ---- [ 85.530233][ T77] lock(fs_reclaim); [ 85.531983][ T77] lock(&type->lock_class); [ 85.535232][ T77] lock(fs_reclaim); [ 85.538090][ T77] lock(&type->lock_class); [ 85.539938][ T77] [ 85.539938][ T77] *** DEADLOCK *** [ 85.539938][ T77] [ 85.543222][ T77] 2 locks held by kswapd0/77: [ 85.545154][ T77] #0: ffffffff8e051900 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x92a/0x2820 [ 85.549034][ T77] #1: ffff88803340e0e0 (&type->s_umount_key#32){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 85.553443][ T77] [ 85.553443][ T77] stack backtrace: [ 85.556057][ T77] CPU: 0 UID: 0 PID: 77 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 85.556071][ T77] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 85.556078][ T77] Call Trace: [ 85.556085][ T77] [ 85.556091][ T77] dump_stack_lvl+0xe8/0x150 [ 85.556115][ T77] print_circular_bug+0x2e2/0x300 [ 85.556129][ T77] check_noncircular+0x12e/0x150 [ 85.556142][ T77] __lock_acquire+0x15a6/0x2cf0 [ 85.556154][ T77] ? stack_trace_save+0x9c/0xe0 [ 85.556199][ T77] ? keyring_clear+0xaf/0x240 [ 85.556210][ T77] lock_acquire+0x107/0x340 [ 85.556220][ T77] ? keyring_clear+0xaf/0x240 [ 85.556233][ T77] down_write+0x96/0x1f0 [ 85.556245][ T77] ? keyring_clear+0xaf/0x240 [ 85.556256][ T77] ? __pfx_down_write+0x10/0x10 [ 85.556268][ T77] keyring_clear+0xaf/0x240 [ 85.556280][ T77] ? __pfx_keyring_clear+0x10/0x10 [ 85.556293][ T77] fscrypt_put_master_key+0xca/0x190 [ 85.556308][ T77] put_crypt_info+0x26d/0x310 [ 85.556318][ T77] fscrypt_put_encryption_info+0xf6/0x140 [ 85.556328][ T77] ext4_clear_inode+0x170/0x2f0 [ 85.556343][ T77] ext4_evict_inode+0x9f6/0xe60 [ 85.556354][ T77] ? inode_wait_for_writeback+0x14d/0x370 [ 85.556368][ T77] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 85.556380][ T77] ? do_raw_spin_lock+0x121/0x290 [ 85.556393][ T77] ? __pfx_ext4_evict_inode+0x10/0x10 [ 85.556403][ T77] ? do_raw_spin_unlock+0x4d/0x240 [ 85.556416][ T77] ? __pfx_ext4_evict_inode+0x10/0x10 [ 85.556424][ T77] evict+0x5f4/0xae0 [ 85.556443][ T77] ? __pfx_evict+0x10/0x10 [ 85.556459][ T77] ? _raw_spin_unlock+0x28/0x50 [ 85.556475][ T77] ? iput+0xcc6/0x1030 [ 85.556486][ T77] __dentry_kill+0x209/0x660 [ 85.556500][ T77] ? shrink_kill+0x8d/0x2c0 [ 85.556510][ T77] shrink_kill+0xa9/0x2c0 [ 85.556520][ T77] shrink_dentry_list+0x2e0/0x5e0 [ 85.556533][ T77] prune_dcache_sb+0x10e/0x180 [ 85.556543][ T77] ? __pfx_prune_dcache_sb+0x10/0x10 [ 85.556554][ T77] ? list_lru_count_one+0x27/0x2c0 [ 85.556568][ T77] ? list_lru_count_one+0x264/0x2c0 [ 85.556582][ T77] super_cache_scan+0x369/0x4b0 [ 85.556597][ T77] do_shrink_slab+0x6df/0x10d0 [ 85.556610][ T77] shrink_slab+0x7ef/0x10d0 [ 85.556620][ T77] ? shrink_slab+0x1e8/0x10d0 [ 85.556630][ T77] ? __pfx_shrink_slab+0x10/0x10 [ 85.556642][ T77] shrink_one+0x2d9/0x720 [ 85.556657][ T77] ? shrink_node+0x2d3f/0x35b0 [ 85.556671][ T77] shrink_node+0x2f7d/0x35b0 [ 85.556686][ T77] ? shrink_node+0x2d3f/0x35b0 [ 85.556699][ T77] ? __lock_acquire+0x6b6/0x2cf0 [ 85.556710][ T77] ? percpu_ref_put+0x19/0x180 [ 85.556720][ T77] ? percpu_ref_put+0x19/0x180 [ 85.556730][ T77] ? __pfx_shrink_node+0x10/0x10 [ 85.556743][ T77] ? percpu_ref_put+0x19/0x180 [ 85.556753][ T77] ? mem_cgroup_iter+0x420/0x460 [ 85.556764][ T77] ? mem_cgroup_iter+0x3b/0x460 [ 85.556775][ T77] kswapd+0x145a/0x2820 [ 85.556791][ T77] ? kswapd+0x92a/0x2820 [ 85.556802][ T77] ? __pfx_kswapd+0x10/0x10 [ 85.556812][ T77] ? __lock_acquire+0x6b6/0x2cf0 [ 85.556822][ T77] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 85.556834][ T77] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 85.556850][ T77] ? __pfx_autoremove_wake_function+0x10/0x10 [ 85.556863][ T77] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 85.556876][ T77] ? __kthread_parkme+0x7b/0x200 [ 85.556887][ T77] ? __kthread_parkme+0x1a1/0x200 [ 85.556898][ T77] kthread+0x711/0x8a0 [ 85.556909][ T77] ? __pfx_kswapd+0x10/0x10 [ 85.556917][ T77] ? __pfx_kthread+0x10/0x10 [ 85.556929][ T77] ? _raw_spin_unlock_irq+0x23/0x50 [ 85.556941][ T77] ? __pfx_kthread+0x10/0x10 [ 85.556953][ T77] ret_from_fork+0x510/0xa50 [ 85.556963][ T77] ? __pfx_ret_from_fork+0x10/0x10 [ 85.556971][ T77] ? __switch_to+0xc9e/0x1480 [ 85.556983][ T77] ? __pfx_kthread+0x10/0x10 [ 85.556991][ T77] ret_from_fork_asm+0x1a/0x30 [ 85.557002][ T77]