program: 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=") 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') syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='.\x00', 0x0, 0x42) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(r2, 0x8004587d, &(0x7f0000000080)={@desc={0x1, 0x0, @desc2}}) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r1, 0xc0406619, &(0x7f0000000080)={@id={0x2, 0x0, @a}}) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r3, &(0x7f00000001c0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14008051}}, {{&(0x7f00000000c0)=@file={0x1, './file0/file0\x00'}, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x40080}}], 0x2, 0x0) ioctl$EXT4_IOC_MOVE_EXT(r2, 0xc028660f, &(0x7f0000000140)={0x0, r2, 0x8, 0x0, 0xc, 0x2}) [ 74.339010][ T5299] Bluetooth: hci0: command tx timeout [ 74.404460][ T5319] loop0: detected capacity change from 0 to 128 [ 74.471639][ T5319] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 74.484087][ T5319] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 74.521942][ T5319] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 74.548810][ T5319] EXT4-fs (loop0): shut down requested (1) [ 74.553868][ T5319] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 74.571087][ T5319] fscrypt (loop0, inode 13): Error -5 getting encryption context [ 74.574612][ T5319] EXT4-fs warning (device loop0): ext4_lookup:1797: Inconsistent encryption contexts: 12/13 [ 74.636369][ T78] [ 74.637455][ T78] ====================================================== [ 74.640358][ T78] WARNING: possible circular locking dependency detected [ 74.643110][ T78] syzkaller #0 Not tainted [ 74.644929][ T78] ------------------------------------------------------ [ 74.647994][ T78] kswapd0/78 is trying to acquire lock: [ 74.650500][ T78] ffff8880382cc098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x250 [ 74.654630][ T78] [ 74.654630][ T78] but task is already holding lock: [ 74.657913][ T78] ffffffff8e67e4a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x90d/0x2800 [ 74.661504][ T78] [ 74.661504][ T78] which lock already depends on the new lock. [ 74.661504][ T78] [ 74.665890][ T78] [ 74.665890][ T78] the existing dependency chain (in reverse order) is: [ 74.669662][ T78] [ 74.669662][ T78] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 74.672523][ T78] fs_reclaim_acquire+0x71/0x100 [ 74.674722][ T78] __kmalloc_cache_noprof+0x40/0x6e0 [ 74.677143][ T78] assoc_array_insert+0x92/0x2f60 [ 74.679420][ T78] __key_link_begin+0xd6/0x1f0 [ 74.681608][ T78] __key_create_or_update+0x449/0xa80 [ 74.684028][ T78] key_create_or_update+0x42/0x60 [ 74.686480][ T78] x509_load_certificate_list+0x145/0x280 [ 74.689281][ T78] do_one_initcall+0x250/0x840 [ 74.691640][ T78] do_initcall_level+0x104/0x190 [ 74.694124][ T78] do_initcalls+0x59/0xa0 [ 74.696317][ T78] kernel_init_freeable+0x2a6/0x3d0 [ 74.698810][ T78] kernel_init+0x1d/0x1d0 [ 74.700894][ T78] ret_from_fork+0x51b/0xa40 [ 74.703137][ T78] ret_from_fork_asm+0x1a/0x30 [ 74.705528][ T78] [ 74.705528][ T78] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 74.708948][ T78] __lock_acquire+0x15a5/0x2cf0 [ 74.711275][ T78] lock_acquire+0x106/0x330 [ 74.713504][ T78] down_write+0x96/0x200 [ 74.715652][ T78] keyring_clear+0xaf/0x250 [ 74.717843][ T78] fscrypt_put_master_key+0xca/0x190 [ 74.720420][ T78] put_crypt_info+0x26d/0x310 [ 74.722753][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 74.725580][ T78] ext4_clear_inode+0x170/0x2f0 [ 74.727954][ T78] ext4_evict_inode+0x9fb/0xe60 [ 74.730179][ T78] evict+0x61e/0xb10 [ 74.732060][ T78] __dentry_kill+0x1a2/0x5e0 [ 74.734223][ T78] shrink_kill+0xa9/0x2c0 [ 74.736291][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 74.738649][ T78] prune_dcache_sb+0x119/0x180 [ 74.740937][ T78] super_cache_scan+0x369/0x4b0 [ 74.743254][ T78] do_shrink_slab+0x6df/0x10d0 [ 74.745571][ T78] shrink_slab+0x830/0x1150 [ 74.747853][ T78] shrink_one+0x2d9/0x710 [ 74.750022][ T78] shrink_node+0x2f8b/0x35f0 [ 74.752253][ T78] kswapd+0x144c/0x2800 [ 74.754338][ T78] kthread+0x726/0x8b0 [ 74.756342][ T78] ret_from_fork+0x51b/0xa40 [ 74.758621][ T78] ret_from_fork_asm+0x1a/0x30 [ 74.760990][ T78] [ 74.760990][ T78] other info that might help us debug this: [ 74.760990][ T78] [ 74.765476][ T78] Possible unsafe locking scenario: [ 74.765476][ T78] [ 74.768761][ T78] CPU0 CPU1 [ 74.771053][ T78] ---- ---- [ 74.773430][ T78] lock(fs_reclaim); [ 74.775209][ T78] lock(&type->lock_class); [ 74.778390][ T78] lock(fs_reclaim); [ 74.781135][ T78] lock(&type->lock_class); [ 74.783037][ T78] [ 74.783037][ T78] *** DEADLOCK *** [ 74.783037][ T78] [ 74.786573][ T78] 2 locks held by kswapd0/78: [ 74.788632][ T78] #0: ffffffff8e67e4a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x90d/0x2800 [ 74.792164][ T78] #1: ffff8880378660e0 (&type->s_umount_key#32){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 74.796657][ T78] [ 74.796657][ T78] stack backtrace: [ 74.799249][ T78] CPU: 0 UID: 0 PID: 78 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 74.799263][ T78] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 74.799270][ T78] Call Trace: [ 74.799277][ T78] [ 74.799283][ T78] dump_stack_lvl+0xe8/0x150 [ 74.799299][ T78] print_circular_bug+0x2e1/0x300 [ 74.799313][ T78] check_noncircular+0x12e/0x150 [ 74.799325][ T78] __lock_acquire+0x15a5/0x2cf0 [ 74.799342][ T78] ? stack_trace_save+0xa9/0x100 [ 74.799358][ T78] ? keyring_clear+0xaf/0x250 [ 74.799370][ T78] lock_acquire+0x106/0x330 [ 74.799384][ T78] ? keyring_clear+0xaf/0x250 [ 74.799399][ T78] down_write+0x96/0x200 [ 74.799411][ T78] ? keyring_clear+0xaf/0x250 [ 74.799423][ T78] ? __pfx_down_write+0x10/0x10 [ 74.799437][ T78] keyring_clear+0xaf/0x250 [ 74.799449][ T78] ? __pfx_keyring_clear+0x10/0x10 [ 74.799463][ T78] fscrypt_put_master_key+0xca/0x190 [ 74.799477][ T78] put_crypt_info+0x26d/0x310 [ 74.799492][ T78] fscrypt_put_encryption_info+0xf6/0x140 [ 74.799506][ T78] ext4_clear_inode+0x170/0x2f0 [ 74.799520][ T78] ext4_evict_inode+0x9fb/0xe60 [ 74.799536][ T78] ? inode_wait_for_writeback+0x16d/0x3b0 [ 74.799550][ T78] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 74.799562][ T78] ? do_raw_spin_lock+0x12b/0x2f0 [ 74.799574][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 74.799588][ T78] ? do_raw_spin_unlock+0x4d/0x210 [ 74.799599][ T78] ? __pfx_ext4_evict_inode+0x10/0x10 [ 74.799613][ T78] evict+0x61e/0xb10 [ 74.799627][ T78] ? __pfx_evict+0x10/0x10 [ 74.799639][ T78] ? _raw_spin_unlock+0x28/0x50 [ 74.799653][ T78] ? iput+0xcc2/0x1020 [ 74.799664][ T78] __dentry_kill+0x1a2/0x5e0 [ 74.799678][ T78] ? shrink_kill+0x8d/0x2c0 [ 74.799688][ T78] shrink_kill+0xa9/0x2c0 [ 74.799698][ T78] shrink_dentry_list+0x2e0/0x5e0 [ 74.799710][ T78] prune_dcache_sb+0x119/0x180 [ 74.799745][ T78] ? __pfx_prune_dcache_sb+0x10/0x10 [ 74.799759][ T78] ? list_lru_count_one+0x27/0x2c0 [ 74.799769][ T78] ? list_lru_count_one+0x264/0x2c0 [ 74.799779][ T78] super_cache_scan+0x369/0x4b0 [ 74.799795][ T78] do_shrink_slab+0x6df/0x10d0 [ 74.799810][ T78] shrink_slab+0x830/0x1150 [ 74.799821][ T78] ? shrink_slab+0x1ef/0x1150 [ 74.799833][ T78] ? __pfx_shrink_slab+0x10/0x10 [ 74.799847][ T78] shrink_one+0x2d9/0x710 [ 74.799858][ T78] ? shrink_node+0x2d4d/0x35f0 [ 74.799868][ T78] shrink_node+0x2f8b/0x35f0 [ 74.799880][ T78] ? shrink_node+0x2d4d/0x35f0 [ 74.799890][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 74.799905][ T78] ? percpu_ref_put+0x19/0x180 [ 74.799921][ T78] ? percpu_ref_put+0x19/0x180 [ 74.799937][ T78] ? __pfx_shrink_node+0x10/0x10 [ 74.799946][ T78] ? percpu_ref_put+0x19/0x180 [ 74.799962][ T78] ? mem_cgroup_iter+0x420/0x450 [ 74.799974][ T78] ? mem_cgroup_iter+0x3b/0x450 [ 74.799985][ T78] kswapd+0x144c/0x2800 [ 74.800001][ T78] ? kswapd+0x90d/0x2800 [ 74.800021][ T78] ? __pfx_kswapd+0x10/0x10 [ 74.800032][ T78] ? __lock_acquire+0x6b5/0x2cf0 [ 74.800047][ T78] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 74.800059][ T78] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 74.800076][ T78] ? __pfx_autoremove_wake_function+0x10/0x10 [ 74.800088][ T78] ? __kthread_parkme+0x7a/0x1f0 [ 74.800098][ T78] ? __kthread_parkme+0x19c/0x1f0 [ 74.800109][ T78] kthread+0x726/0x8b0 [ 74.800120][ T78] ? __pfx_kswapd+0x10/0x10 [ 74.800131][ T78] ? __pfx_kthread+0x10/0x10 [ 74.800142][ T78] ? _raw_spin_unlock_irq+0x23/0x50 [ 74.800156][ T78] ? __pfx_kthread+0x10/0x10 [ 74.800167][ T78] ret_from_fork+0x51b/0xa40 [ 74.800178][ T78] ? __pfx_ret_from_fork+0x10/0x10 [ 74.800193][ T78] ? __switch_to+0xc82/0x1410 [ 74.800207][ T78] ? __pfx_kthread+0x10/0x10 [ 74.800215][ T78] ret_from_fork_asm+0x1a/0x30 [ 74.800230][ T78]