program: 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") 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) r2 = syz_open_dev$video(&(0x7f0000000040), 0xa7, 0x0) ioctl$VIDIOC_S_FMT(r2, 0xc0d05605, &(0x7f0000000180)={0x1, @pix={0x0, 0x0, 0x33565348, 0x0, 0x0, 0x0, 0x2, 0xfeedcafe, 0x3, 0x0, 0x1, 0x5}}) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r1, 0x800c6613, &(0x7f00000006c0)=@v2={0x2, @aes256, 0x0, '\x00', @a}) chdir(&(0x7f00000002c0)='mnt/encrypted_dir\x00') r3 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$IPT_SO_SET_REPLACE(r3, 0x0, 0x40, &(0x7f0000000180)=@raw={'raw\x00', 0x8, 0x7ffffffe, 0x1e8, 0x0, 0x11, 0x148, 0x1d0, 0x0, 0x2c8, 0x2a8, 0x2a8, 0x2c8, 0x2a8, 0x3, 0x0, {[{{@uncond, 0x0, 0x70, 0xb8}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00'}}}, {{@ip={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0xffffffff, 'vlan0\x00', 'netdevsim0\x00'}, 0x0, 0x70, 0x98}, @common=@unspec=@NFQUEUE2={0x28, 'NFQUEUE\x00', 0x2, {0x3, 0x6, 0x2}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x248) symlink(&(0x7f00000000c0)='mnt/encrypted_dir\x00', &(0x7f0000000100)='./file0\x00') ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS(r1, 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) [ 85.023426][ T47] Bluetooth: hci0: command tx timeout [ 85.219339][ T5322] loop0: detected capacity change from 0 to 128 [ 85.270367][ T5322] EXT4-fs (loop0): mounted filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09 r/w without journal. Quota mode: none. [ 85.291341][ T5322] ext4 filesystem being mounted at /0/mnt supports timestamps until 2038-01-19 (0x7fffffff) [ 85.314665][ T5322] fscrypt: AES-256-CBC-CTS using implementation "cts-cbc-aes-aesni" [ 85.338468][ T5322] fscrypt: loop0: 1 inode(s) still busy after removing key with identifier 69b2f6edeee720cce0577937eb8a6751, including ino 12 [ 85.376380][ T79] [ 85.377479][ T79] ====================================================== [ 85.380539][ T79] WARNING: possible circular locking dependency detected [ 85.383576][ T79] syzkaller #0 Not tainted [ 85.385792][ T79] ------------------------------------------------------ [ 85.388887][ T79] kswapd0/79 is trying to acquire lock: [ 85.391221][ T79] ffff88801c9af098 (&type->lock_class){+.+.}-{4:4}, at: keyring_clear+0xaf/0x250 [ 85.395389][ T79] [ 85.395389][ T79] but task is already holding lock: [ 85.398701][ T79] ffffffff8e67e4a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x90d/0x2800 [ 85.402296][ T79] [ 85.402296][ T79] which lock already depends on the new lock. [ 85.402296][ T79] [ 85.406823][ T79] [ 85.406823][ T79] the existing dependency chain (in reverse order) is: [ 85.410846][ T79] [ 85.410846][ T79] -> #1 (fs_reclaim){+.+.}-{0:0}: [ 85.413996][ T79] fs_reclaim_acquire+0x71/0x100 [ 85.416491][ T79] __kmalloc_cache_noprof+0x40/0x6e0 [ 85.419037][ T79] assoc_array_insert+0x92/0x2f60 [ 85.421501][ T79] __key_link_begin+0xd6/0x1f0 [ 85.423794][ T79] __key_create_or_update+0x449/0xa80 [ 85.426579][ T79] key_create_or_update+0x42/0x60 [ 85.429143][ T79] x509_load_certificate_list+0x145/0x280 [ 85.431966][ T79] do_one_initcall+0x250/0x840 [ 85.434300][ T79] do_initcall_level+0x104/0x190 [ 85.436869][ T79] do_initcalls+0x59/0xa0 [ 85.439158][ T79] kernel_init_freeable+0x2a6/0x3d0 [ 85.441774][ T79] kernel_init+0x1d/0x1d0 [ 85.444121][ T79] ret_from_fork+0x51b/0xa40 [ 85.446447][ T79] ret_from_fork_asm+0x1a/0x30 [ 85.448788][ T79] [ 85.448788][ T79] -> #0 (&type->lock_class){+.+.}-{4:4}: [ 85.452321][ T79] __lock_acquire+0x15a5/0x2cf0 [ 85.454692][ T79] lock_acquire+0x106/0x330 [ 85.456999][ T79] down_write+0x96/0x200 [ 85.459147][ T79] keyring_clear+0xaf/0x250 [ 85.461368][ T79] fscrypt_put_master_key+0xca/0x190 [ 85.463847][ T79] put_crypt_info+0x26d/0x310 [ 85.466248][ T79] fscrypt_put_encryption_info+0xf6/0x140 [ 85.469027][ T79] ext4_clear_inode+0x170/0x2f0 [ 85.471436][ T79] ext4_evict_inode+0x9fb/0xe60 [ 85.473905][ T79] evict+0x61e/0xb10 [ 85.476034][ T79] __dentry_kill+0x1a2/0x5e0 [ 85.478394][ T79] shrink_kill+0xa9/0x2c0 [ 85.480622][ T79] shrink_dentry_list+0x2e0/0x5e0 [ 85.483035][ T79] prune_dcache_sb+0x119/0x180 [ 85.485401][ T79] super_cache_scan+0x369/0x4b0 [ 85.487803][ T79] do_shrink_slab+0x6df/0x10d0 [ 85.490220][ T79] shrink_slab+0x830/0x1150 [ 85.492476][ T79] shrink_one+0x2d9/0x710 [ 85.494600][ T79] shrink_node+0x2f8b/0x35f0 [ 85.496925][ T79] kswapd+0x144c/0x2800 [ 85.499047][ T79] kthread+0x726/0x8b0 [ 85.501207][ T79] ret_from_fork+0x51b/0xa40 [ 85.503491][ T79] ret_from_fork_asm+0x1a/0x30 [ 85.505875][ T79] [ 85.505875][ T79] other info that might help us debug this: [ 85.505875][ T79] [ 85.510320][ T79] Possible unsafe locking scenario: [ 85.510320][ T79] [ 85.513524][ T79] CPU0 CPU1 [ 85.515932][ T79] ---- ---- [ 85.518335][ T79] lock(fs_reclaim); [ 85.520145][ T79] lock(&type->lock_class); [ 85.523908][ T79] lock(fs_reclaim); [ 85.526804][ T79] lock(&type->lock_class); [ 85.528852][ T79] [ 85.528852][ T79] *** DEADLOCK *** [ 85.528852][ T79] [ 85.532254][ T79] 2 locks held by kswapd0/79: [ 85.534292][ T79] #0: ffffffff8e67e4a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x90d/0x2800 [ 85.538050][ T79] #1: ffff8880440ce0e0 (&type->s_umount_key#32){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 [ 85.542491][ T79] [ 85.542491][ T79] stack backtrace: [ 85.545208][ T79] CPU: 0 UID: 0 PID: 79 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) [ 85.545223][ T79] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 85.545230][ T79] Call Trace: [ 85.545239][ T79] [ 85.545271][ T79] dump_stack_lvl+0xe8/0x150 [ 85.545292][ T79] print_circular_bug+0x2e1/0x300 [ 85.545306][ T79] check_noncircular+0x12e/0x150 [ 85.545320][ T79] __lock_acquire+0x15a5/0x2cf0 [ 85.545337][ T79] ? stack_trace_save+0xa9/0x100 [ 85.545355][ T79] ? keyring_clear+0xaf/0x250 [ 85.545371][ T79] lock_acquire+0x106/0x330 [ 85.545385][ T79] ? keyring_clear+0xaf/0x250 [ 85.545402][ T79] down_write+0x96/0x200 [ 85.545416][ T79] ? keyring_clear+0xaf/0x250 [ 85.545429][ T79] ? __pfx_down_write+0x10/0x10 [ 85.545444][ T79] keyring_clear+0xaf/0x250 [ 85.545458][ T79] ? __pfx_keyring_clear+0x10/0x10 [ 85.545474][ T79] fscrypt_put_master_key+0xca/0x190 [ 85.545489][ T79] put_crypt_info+0x26d/0x310 [ 85.545505][ T79] fscrypt_put_encryption_info+0xf6/0x140 [ 85.545522][ T79] ext4_clear_inode+0x170/0x2f0 [ 85.545537][ T79] ext4_evict_inode+0x9fb/0xe60 [ 85.545554][ T79] ? inode_wait_for_writeback+0x16d/0x3b0 [ 85.545568][ T79] ? __pfx_inode_wait_for_writeback+0x10/0x10 [ 85.545580][ T79] ? do_raw_spin_lock+0x12b/0x2f0 [ 85.545593][ T79] ? __pfx_ext4_evict_inode+0x10/0x10 [ 85.545608][ T79] ? do_raw_spin_unlock+0x4d/0x210 [ 85.545621][ T79] ? __pfx_ext4_evict_inode+0x10/0x10 [ 85.545636][ T79] evict+0x61e/0xb10 [ 85.545652][ T79] ? __pfx_evict+0x10/0x10 [ 85.545666][ T79] ? _raw_spin_unlock+0x28/0x50 [ 85.545681][ T79] ? iput+0xcc2/0x1020 [ 85.545694][ T79] __dentry_kill+0x1a2/0x5e0 [ 85.545709][ T79] ? shrink_kill+0x8d/0x2c0 [ 85.545719][ T79] shrink_kill+0xa9/0x2c0 [ 85.545730][ T79] shrink_dentry_list+0x2e0/0x5e0 [ 85.545741][ T79] prune_dcache_sb+0x119/0x180 [ 85.545750][ T79] ? __pfx_prune_dcache_sb+0x10/0x10 [ 85.545761][ T79] ? list_lru_count_one+0x27/0x2c0 [ 85.545772][ T79] ? list_lru_count_one+0x264/0x2c0 [ 85.545783][ T79] super_cache_scan+0x369/0x4b0 [ 85.545801][ T79] do_shrink_slab+0x6df/0x10d0 [ 85.545817][ T79] shrink_slab+0x830/0x1150 [ 85.545829][ T79] ? shrink_slab+0x1ef/0x1150 [ 85.545842][ T79] ? __pfx_shrink_slab+0x10/0x10 [ 85.545858][ T79] shrink_one+0x2d9/0x710 [ 85.545870][ T79] ? shrink_node+0x2d4d/0x35f0 [ 85.545881][ T79] shrink_node+0x2f8b/0x35f0 [ 85.545895][ T79] ? shrink_node+0x2d4d/0x35f0 [ 85.545905][ T79] ? __lock_acquire+0x6b5/0x2cf0 [ 85.545922][ T79] ? percpu_ref_put+0x19/0x180 [ 85.545939][ T79] ? percpu_ref_put+0x19/0x180 [ 85.545957][ T79] ? __pfx_shrink_node+0x10/0x10 [ 85.545966][ T79] ? percpu_ref_put+0x19/0x180 [ 85.545984][ T79] ? mem_cgroup_iter+0x420/0x450 [ 85.546003][ T79] ? mem_cgroup_iter+0x3b/0x450 [ 85.546015][ T79] kswapd+0x144c/0x2800 [ 85.546033][ T79] ? kswapd+0x90d/0x2800 [ 85.546048][ T79] ? __pfx_kswapd+0x10/0x10 [ 85.546060][ T79] ? __lock_acquire+0x6b5/0x2cf0 [ 85.546076][ T79] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 85.546088][ T79] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 85.546107][ T79] ? __pfx_autoremove_wake_function+0x10/0x10 [ 85.546121][ T79] ? __kthread_parkme+0x7a/0x1f0 [ 85.546132][ T79] ? __kthread_parkme+0x19c/0x1f0 [ 85.546143][ T79] kthread+0x726/0x8b0 [ 85.546157][ T79] ? __pfx_kswapd+0x10/0x10 [ 85.546169][ T79] ? __pfx_kthread+0x10/0x10 [ 85.546180][ T79] ? _raw_spin_unlock_irq+0x23/0x50 [ 85.546195][ T79] ? __pfx_kthread+0x10/0x10 [ 85.546206][ T79] ret_from_fork+0x51b/0xa40 [ 85.546217][ T79] ? __pfx_ret_from_fork+0x10/0x10 [ 85.546232][ T79] ? __switch_to+0xc82/0x1410 [ 85.546246][ T79] ? __pfx_kthread+0x10/0x10 [ 85.546258][ T79] ret_from_fork_asm+0x1a/0x30 [ 85.546277][ T79]