program: openat$adsp1(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0xb635773f06ebbeee, 0x8031, 0xffffffffffffffff, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) open(0x0, 0x0, 0x0) mkdirat(0xffffffffffffffff, 0x0, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x600722, 0x66) madvise(&(0x7f0000000000/0x3000)=nil, 0x7fffffffffffffff, 0x67) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x19) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = syz_open_dev$dri(&(0x7f0000000180), 0x1, 0x0) 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=") 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') r3 = openat(0xffffffffffffff9c, &(0x7f00000000c0)='./file1\x00', 0x8042, 0x10c) link(&(0x7f0000000200)='./file1\x00', &(0x7f0000000300)='./bus\x00') ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r2, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) r4 = syz_open_dev$dri(&(0x7f0000000180), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000000)={0x7fff, 0x8, 0x100}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r0, 0xc02064b2, &(0x7f0000000080)={0x2, 0x5, 0x3}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r3, 0xc02064b2, &(0x7f0000000100)={0x4000d, 0xb, 0x6c}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r0, 0xc02064b2, &(0x7f0000000040)={0x49, 0x7fff, 0x4}) mmap(&(0x7f0000000000/0xff5000)=nil, 0xff5000, 0x0, 0x20000000ec071, 0xffffffffffffffff, 0x4000) memfd_create(0x0, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r4, 0xc02064b2, &(0x7f0000000200)={0x10001, 0x401f, 0x3}) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r0, 0xc02064b2, &(0x7f0000000380)={0xff, 0x3, 0xd83f}) [ 88.332921][ T4686] Bluetooth: hci0: command tx timeout [ 88.760953][ T5350] loop0: detected capacity change from 0 to 128 [ 88.818275][ T5350] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 88.847247][ T5350] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 88.863889][ T5350] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 88.869966][ T5350] fscrypt: AES-256-XTS using implementation "xts-aes-aesni-avx" [ 88.881056][ T5350] fscrypt: loop0: 2 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 13 [ 88.888824][ T5350] faux_driver vkms: [drm] Unknown color mode 3; guessing buffer size. [ 88.976275][ T79] [ 88.977377][ T79] ====================================================== [ 88.980366][ T79] WARNING: possible circular locking dependency detected [ 88.983340][ T79] syzkaller #0 Not tainted [ 88.985222][ T79] ------------------------------------------------------ [ 88.987869][ T79] kswapd0/79 is trying to acquire lock: [ 88.990469][ T79] ffff88801fafa098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x240 [ 88.994466][ T79] [ 88.994466][ T79] but task is already holding lock: [ 88.997578][ T79] ffffffff8e051820 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x92a/0x2820 [ 89.001780][ T79] [ 89.001780][ T79] which lock already depends on the new lock. [ 89.001780][ T79] [ 89.006525][ T79] [ 89.006525][ T79] the existing dependency chain (in reverse order) is: [ 89.010866][ T79] [ 89.010866][ T79] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 89.015212][ T79] fs_reclaim_acquire+0x72/0x100 [ 89.017778][ T79] __kmalloc_cache_noprof+0x40/0x700 [ 89.020417][ T79] assoc_array_insert+0x92/0x2f90 [ 89.022916][ T79] __key_link_begin+0xd6/0x1f0 [ 89.025116][ T79] __key_create_or_update+0x41a/0xa30 [ 89.027588][ T79] key_create_or_update+0x42/0x60 [ 89.029904][ T79] x509_load_certificate_list+0x145/0x280 [ 89.032670][ T79] do_one_initcall+0x1f1/0x800 [ 89.034987][ T79] do_initcall_level+0x104/0x190 [ 89.037405][ T79] do_initcalls+0x59/0xa0 [ 89.039572][ T79] kernel_init_freeable+0x2a7/0x3d0 [ 89.041984][ T79] kernel_init+0x1d/0x1d0 [ 89.044119][ T79] ret_from_fork+0x510/0xa50 [ 89.046294][ T79] ret_from_fork_asm+0x1a/0x30 [ 89.048537][ T79] [ 89.048537][ T79] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 89.052112][ T79] __lock_acquire+0x15a6/0x2cf0 [ 89.054493][ T79] lock_acquire+0x107/0x340 [ 89.056632][ T79] down_write+0x96/0x1f0 [ 89.058732][ T79] keyring_clear+0xaf/0x240 [ 89.060940][ T79] fscrypt_put_master_key+0xca/0x190 [ 89.063438][ T79] put_crypt_info+0x26d/0x310 [ 89.065777][ T79] fscrypt_put_encryption_info+0xf6/0x140 [ 89.068384][ T79] ext4_clear_inode+0x170/0x2f0 [ 89.070572][ T79] ext4_evict_inode+0x9f6/0xe60 [ 89.072802][ T79] evict+0x5f4/0xae0 [ 89.074641][ T79] __dentry_kill+0x209/0x660 [ 89.076846][ T79] shrink_kill+0xa9/0x2c0 [ 89.078953][ T79] shrink_dentry_list+0x2e0/0x5e0 [ 89.081329][ T79] prune_dcache_sb+0x10e/0x180 [ 89.083701][ T79] super_cache_scan+0x369/0x4b0 [ 89.086088][ T79] do_shrink_slab+0x6df/0x10d0 [ 89.088327][ T79] shrink_slab+0x7ef/0x10d0 [ 89.090447][ T79] shrink_one+0x2d9/0x720 [ 89.092518][ T79] shrink_node+0x2f7d/0x35b0 [ 89.094630][ T79] kswapd+0x145a/0x2820 [ 89.096663][ T79] kthread+0x711/0x8a0 [ 89.098668][ T79] ret_from_fork+0x510/0xa50 [ 89.100871][ T79] ret_from_fork_asm+0x1a/0x30 [ 89.103159][ T79] [ 89.103159][ T79] other info that might help us debug this: [ 89.103159][ T79] [ 89.107498][ T79] Possible unsafe locking scenario: [ 89.107498][ T79] [ 89.110761][ T79] CPU0 CPU1 [ 89.113206][ T79] ---- ---- [ 89.115539][ T79] lock(fs_reclaim); [ 89.117235][ T79] lock(&type->lock_class); [ 89.120326][ T79] lock(fs_reclaim); [ 89.123166][ T79] lock(&type->lock_class); [ 89.125107][ T79] [ 89.125107][ T79] *** DEADLOCK *** [ 89.125107][ T79] [ 89.128587][ T79] 2 locks held by kswapd0/79: [ 89.130692][ T79] #0: ffffffff8e051820 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x92a/0x2820 [ 89.134391][ T79] #1: ffff888036e300e0 (&type->s_umount_key#32){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 89.138644][ T79] [ 89.138644][ T79] stack backtrace: [ 89.140718][ T79] CPU: 0 UID: 0 PID: 79 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 89.140732][ T79] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 89.140740][ T79] Call Trace: [ 89.140756][ T79] [ 89.140760][ T79] dump_stack_lvl+0xe8/0x150 [ 89.140772][ T79] print_circular_bug+0x2e2/0x300 [ 89.140782][ T79] check_noncircular+0x12e/0x150 [ 89.140791][ T79] __lock_acquire+0x15a6/0x2cf0 [ 89.140802][ T79] ? stack_trace_save+0x9c/0xe0 [ 89.140817][ T79] ? keyring_clear+0xaf/0x240 [ 89.140828][ T79] lock_acquire+0x107/0x340 [ 89.140837][ T79] ? keyring_clear+0xaf/0x240 [ 89.140849][ T79] down_write+0x96/0x1f0 [ 89.140897][ T79] ? keyring_clear+0xaf/0x240 [ 89.140906][ T79] ? __pfx_down_write+0x10/0x10 [ 89.140914][ T79] keyring_clear+0xaf/0x240 [ 89.140932][ T79] ? __pfx_keyring_clear+0x10/0x10 [ 89.140940][ T79] fscrypt_put_master_key+0xca/0x190 [ 89.140955][ T79] put_crypt_info+0x26d/0x310 [ 89.140962][ T79] fscrypt_put_encryption_info+0xf6/0x140 [ 89.140969][ T79] ext4_clear_inode+0x170/0x2f0 [ 89.140979][ T79] ext4_evict_inode+0x9f6/0xe60 [ 89.140986][ T79] ? inode_wait_for_writeback+0x14d/0x370 [ 89.140996][ T79] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 89.141004][ T79] ? do_raw_spin_lock+0x121/0x290 [ 89.141013][ T79] ? __pfx_ext4_evict_inode+0x10/0x10 [ 89.141019][ T79] ? do_raw_spin_unlock+0x4d/0x240 [ 89.141027][ T79] ? __pfx_ext4_evict_inode+0x10/0x10 [ 89.141033][ T79] evict+0x5f4/0xae0 [ 89.141043][ T79] ? __pfx_evict+0x10/0x10 [ 89.141051][ T79] ? _raw_spin_unlock+0x28/0x50 [ 89.141060][ T79] ? iput+0xcc6/0x1030 [ 89.141068][ T79] __dentry_kill+0x209/0x660 [ 89.141077][ T79] ? shrink_kill+0x8d/0x2c0 [ 89.141083][ T79] shrink_kill+0xa9/0x2c0 [ 89.141090][ T79] shrink_dentry_list+0x2e0/0x5e0 [ 89.141098][ T79] prune_dcache_sb+0x10e/0x180 [ 89.141105][ T79] ? __pfx_prune_dcache_sb+0x10/0x10 [ 89.141112][ T79] ? list_lru_count_one+0x27/0x2c0 [ 89.141123][ T79] ? list_lru_count_one+0x264/0x2c0 [ 89.141132][ T79] super_cache_scan+0x369/0x4b0 [ 89.141144][ T79] do_shrink_slab+0x6df/0x10d0 [ 89.141157][ T79] shrink_slab+0x7ef/0x10d0 [ 89.141165][ T79] ? shrink_slab+0x1e8/0x10d0 [ 89.141175][ T79] ? __pfx_shrink_slab+0x10/0x10 [ 89.141187][ T79] shrink_one+0x2d9/0x720 [ 89.141200][ T79] ? shrink_node+0x2d3f/0x35b0 [ 89.141210][ T79] shrink_node+0x2f7d/0x35b0 [ 89.141221][ T79] ? shrink_node+0x2d3f/0x35b0 [ 89.141230][ T79] ? __lock_acquire+0x6b6/0x2cf0 [ 89.141237][ T79] ? percpu_ref_put+0x19/0x180 [ 89.141247][ T79] ? percpu_ref_put+0x19/0x180 [ 89.141257][ T79] ? __pfx_shrink_node+0x10/0x10 [ 89.141269][ T79] ? percpu_ref_put+0x19/0x180 [ 89.141279][ T79] ? mem_cgroup_iter+0x420/0x460 [ 89.141290][ T79] ? mem_cgroup_iter+0x3b/0x460 [ 89.141299][ T79] kswapd+0x145a/0x2820 [ 89.141309][ T79] ? kswapd+0x92a/0x2820 [ 89.141317][ T79] ? __pfx_kswapd+0x10/0x10 [ 89.141324][ T79] ? __lock_acquire+0x6b6/0x2cf0 [ 89.141331][ T79] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 89.141340][ T79] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 89.141351][ T79] ? __pfx_autoremove_wake_function+0x10/0x10 [ 89.141361][ T79] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 89.141370][ T79] ? __kthread_parkme+0x7b/0x200 [ 89.141377][ T79] ? __kthread_parkme+0x1a1/0x200 [ 89.141384][ T79] kthread+0x711/0x8a0 [ 89.141393][ T79] ? __pfx_kswapd+0x10/0x10 [ 89.141399][ T79] ? __pfx_kthread+0x10/0x10 [ 89.141407][ T79] ? _raw_spin_unlock_irq+0x23/0x50 [ 89.141416][ T79] ? __pfx_kthread+0x10/0x10 [ 89.141423][ T79] ret_from_fork+0x510/0xa50 [ 89.141430][ T79] ? __pfx_ret_from_fork+0x10/0x10 [ 89.141436][ T79] ? __switch_to+0xc9e/0x1480 [ 89.141445][ T79] ? __pfx_kthread+0x10/0x10 [ 89.141453][ T79] ret_from_fork_asm+0x1a/0x30 [ 89.141464][ T79]