On Wed, Aug 16, 2023 at 7:11 PM Guenter Roeck <li...@roeck-us.net> wrote: > > On Wed, Aug 16, 2023 at 10:25:06AM -0700, Jaegeuk Kim wrote: > > Hi, > > > > On Tue, Aug 15, 2023 at 10:09 PM Guenter Roeck <li...@roeck-us.net> wrote: > > > > > > Hi, > > > > > > when trying to boot from an f2fs file system with lock debugging enabled, > > > I get the attached circular locking dependency warning. Is this a known > > > problem ? > > > > > > Thanks, > > > Guenter > > > > > > --- > > > [ 10.315522] ====================================================== > > > [ 10.315620] WARNING: possible circular locking dependency detected > > > [ 10.315753] 6.5.0-rc6-00027-g91aa6c412d7f #1 Tainted: G > > > N > > > [ 10.315843] ------------------------------------------------------ > > > [ 10.315922] seedrng/717 is trying to acquire lock: > > > [ 10.316010] ffff8e0e02c6b868 (&fi->i_sem){+.+.}-{3:3}, at: > > > f2fs_add_inline_entry+0x134/0x2d0 > > > [ 10.316315] > > > [ 10.316315] but task is already holding lock: > > > [ 10.316391] ffff8e0e02c6b278 (&fi->i_xattr_sem){.+.+}-{3:3}, at: > > > f2fs_add_dentry+0x41/0xc0 > > > [ 10.316543] > > > [ 10.316543] which lock already depends on the new lock. > > > [ 10.316543] > > > [ 10.316641] > > > [ 10.316641] the existing dependency chain (in reverse order) is: > > > [ 10.316745] > > > [ 10.316745] -> #1 (&fi->i_xattr_sem){.+.+}-{3:3}: > > > [ 10.316883] down_read+0x3d/0x170 > > > [ 10.316973] f2fs_getxattr+0x370/0x440 > > > [ 10.317036] __f2fs_get_acl+0x38/0x1e0 > > > [ 10.317094] f2fs_init_acl+0x69/0x420 > > > [ 10.317151] f2fs_init_inode_metadata+0x72/0x450 > > > [ 10.317218] f2fs_add_regular_entry+0x372/0x510 > > > [ 10.317283] f2fs_add_dentry+0xb8/0xc0 > > > [ 10.317340] f2fs_do_add_link+0xd9/0x110 > > > [ 10.317399] f2fs_mkdir+0xdf/0x180 > > > [ 10.317453] vfs_mkdir+0x142/0x220 > > > [ 10.317508] do_mkdirat+0x7c/0x120 > > > [ 10.317561] __x64_sys_mkdir+0x47/0x70 > > > [ 10.317617] do_syscall_64+0x3f/0x90 > > > [ 10.317673] entry_SYSCALL_64_after_hwframe+0x73/0xdd > > > [ 10.317757] > > > [ 10.317757] -> #0 (&fi->i_sem){+.+.}-{3:3}: > > > [ 10.317843] __lock_acquire+0x16bf/0x2860 > > > [ 10.317907] lock_acquire+0xcc/0x2c0 > > > [ 10.317962] down_write+0x3a/0xc0 > > > [ 10.318014] f2fs_add_inline_entry+0x134/0x2d0 > > > [ 10.318077] f2fs_add_dentry+0x55/0xc0 > > > [ 10.318141] f2fs_do_add_link+0xd9/0x110 > > > [ 10.318201] f2fs_create+0xe8/0x170 > > > [ 10.318255] lookup_open.isra.0+0x58e/0x6c0 > > > [ 10.318317] path_openat+0x2af/0xa40 > > > [ 10.318372] do_filp_open+0xb1/0x160 > > > [ 10.318428] do_sys_openat2+0x91/0xc0 > > > [ 10.318485] __x64_sys_open+0x54/0xa0 > > > [ 10.318541] do_syscall_64+0x3f/0x90 > > > [ 10.318597] entry_SYSCALL_64_after_hwframe+0x73/0xdd > > > [ 10.318676] > > > [ 10.318676] other info that might help us debug this: > > > [ 10.318676] > > > [ 10.318799] Possible unsafe locking scenario: > > > [ 10.318799] > > > [ 10.318875] CPU0 CPU1 > > > [ 10.318935] ---- ---- > > > [ 10.318999] rlock(&fi->i_xattr_sem); > > > [ 10.319068] lock(&fi->i_sem); > > > [ 10.319166] lock(&fi->i_xattr_sem); > > > [ 10.319264] lock(&fi->i_sem); > > > > It looks like the same one reported by syzbot. > > https://syzkaller.appspot.com/bug?extid=a4976ce949df66b1ddf1 > > > > However, I suspect it's a false alarm, since I'm interpreting the loop as > > below. > > > > CPU0 CPU1 > > lock(new_inode#1->i_xattr_sem) > > lock(new_inode#2->i_sem) > > lock(dir->i_xattr_sem) > > lock(new_inode#1->i_sem) > > > > This looks fine to me. > > > > Based on your feedback, am I correct assuming that you don't plan > to fix this ?
I'm quite open to something that I may miss. Chao, what do you think? > > Thanks, > Guenter _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel