Re: [syzbot] [fscrypt?] possible deadlock in find_and_lock_process_key

From: Eric Biggers
Date: Mon Nov 27 2023 - 17:28:19 EST


On Sun, Nov 26, 2023 at 12:58:22PM -0800, syzbot wrote:
> -> #3 (&type->lock_class#5){++++}-{3:3}:
> down_read+0x9a/0x330 kernel/locking/rwsem.c:1526
> find_and_lock_process_key+0x97/0x390 fs/crypto/keysetup_v1.c:112
> fscrypt_setup_v1_file_key_via_subscribed_keyrings+0x115/0x2d0 fs/crypto/keysetup_v1.c:310
> setup_file_encryption_key fs/crypto/keysetup.c:485 [inline]
> fscrypt_setup_encryption_info+0xb69/0x1080 fs/crypto/keysetup.c:590
> fscrypt_get_encryption_info+0x3d1/0x4b0 fs/crypto/keysetup.c:675
> fscrypt_setup_filename+0x238/0xd80 fs/crypto/fname.c:458
> ext4_fname_setup_filename+0xa3/0x250 fs/ext4/crypto.c:28
> ext4_add_entry+0x32b/0xe40 fs/ext4/namei.c:2403
> ext4_rename+0x165e/0x2880 fs/ext4/namei.c:3932
> ext4_rename2+0x1bc/0x270 fs/ext4/namei.c:4212
> vfs_rename+0x13e0/0x1c30 fs/namei.c:4844
> do_renameat2+0xc3c/0xdc0 fs/namei.c:4996
> __do_sys_renameat fs/namei.c:5036 [inline]
> __se_sys_renameat fs/namei.c:5033 [inline]
> __x64_sys_renameat+0xc6/0x100 fs/namei.c:5033
> do_syscall_x64 arch/x86/entry/common.c:51 [inline]
> do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
> entry_SYSCALL_64_after_hwframe+0x63/0x6b

#syz dup: possible deadlock in start_this_handle (4)

See https://lore.kernel.org/linux-fscrypt/Y%2F6aDmrx8Q9ob+Zi@sol.localdomain/

- Eric