[Bug 206807] New: [xfstests generic/053]: WARNING: possible circular locking between fs_reclaim_acquire.part and xfs_ilock_attr_map_shared

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=206807

            Bug ID: 206807
           Summary: [xfstests generic/053]: WARNING: possible circular
                    locking between fs_reclaim_acquire.part and
                    xfs_ilock_attr_map_shared
           Product: File System
           Version: 2.5
    Kernel Version: xfs-5.7-merge-1
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: XFS
          Assignee: filesystem_xfs@xxxxxxxxxxxxxxxxxxxxxx
          Reporter: zlang@xxxxxxxxxx
        Regression: No

xfstests generic/053 always hit below warning. I'm not sure if it's a real
issue, just due to it can be reproduced easily. So report this bug to get more
xfs developer review.

[ 4237.682652] run fstests generic/053 at 2020-03-08 08:59:40
[ 4239.360186] XFS (sda3): Mounting V5 Filesystem
[ 4239.407716] XFS (sda3): Ending clean mount
[ 4239.419928] xfs filesystem being mounted at /mnt/xfstests/mnt2 supports
timestamps until 2038 (0x7fffffff)
[ 4240.158679] XFS (sda3): Unmounting Filesystem
[ 4240.571304] XFS (sda3): Mounting V5 Filesystem
[ 4240.599167] XFS (sda3): Ending clean mount
[ 4240.611047] xfs filesystem being mounted at /mnt/xfstests/mnt2 supports
timestamps until 2038 (0x7fffffff)

[ 4240.709666] ======================================================
[ 4240.715848] WARNING: possible circular locking dependency detected
[ 4240.722028] 5.6.0-rc4+ #1 Not tainted
[ 4240.725685] ------------------------------------------------------
[ 4240.731863] chacl/376734 is trying to acquire lock:
[ 4240.736733] ffffffff86ad3920 (fs_reclaim){+.+.}, at:
fs_reclaim_acquire.part.55+0x5/0x30
[ 4240.744846] 
               but task is already holding lock:
[ 4240.750668] ffff88800cedf8f0 (&xfs_nondir_ilock_class){++++}, at:
xfs_ilock_attr_map_shared+0x4c/0xd0 [xfs]
[ 4240.760457] 
               which lock already depends on the new lock.

[ 4240.768635] 
               the existing dependency chain (in reverse order) is:
[ 4240.776116] 
               -> #1 (&xfs_nondir_ilock_class){++++}:
[ 4240.782412]        down_write_nested+0xa4/0x3c0
[ 4240.786986]        xfs_ilock+0x149/0x4c0 [xfs]
[ 4240.791460]        xfs_reclaim_inode+0xe4/0x9e0 [xfs]
[ 4240.796558]        xfs_reclaim_inodes_ag+0x50a/0xb10 [xfs]
[ 4240.802077]        xfs_reclaim_inodes_nr+0x92/0xd0 [xfs]
[ 4240.807370]        super_cache_scan+0x302/0x430
[ 4240.811909]        do_shrink_slab+0x31c/0x9b0
[ 4240.816256]        shrink_slab+0x3ad/0x4e0
[ 4240.820378]        shrink_node+0x3d8/0x16b0
[ 4240.824560]        balance_pgdat+0x5ba/0xf10
[ 4240.828843]        kswapd+0x528/0xc30
[ 4240.832507]        kthread+0x333/0x3f0
[ 4240.836250]        ret_from_fork+0x3a/0x50
[ 4240.840374] 
               -> #0 (fs_reclaim){+.+.}:
[ 4240.845499]        __lock_acquire+0x23f7/0x4030
[ 4240.850026]        lock_acquire+0x15a/0x3d0
[ 4240.854200]        fs_reclaim_acquire.part.55+0x29/0x30
[ 4240.859411]        slab_pre_alloc_hook+0x14/0x80
[ 4240.864033]        __kmalloc+0x58/0x380
[ 4240.867939]        kmem_alloc+0xf0/0x3e0 [xfs]
[ 4240.872419]        kmem_alloc_large+0x9f/0x2e0 [xfs]
[ 4240.877405]        xfs_attr_copy_value+0x134/0x200 [xfs]
[ 4240.882750]        xfs_attr_get+0x373/0x4f0 [xfs]
[ 4240.887508]        xfs_get_acl+0x192/0x510 [xfs]
[ 4240.892132]        get_acl+0x10e/0x260
[ 4240.895896]        posix_acl_xattr_get+0xc6/0x1b0
[ 4240.900597]        __vfs_getxattr+0xbb/0x110
[ 4240.904849]        vfs_getxattr+0x185/0x1b0
[ 4240.909038]        getxattr+0xea/0x220
[ 4240.912809]        path_getxattr+0xae/0x110
[ 4240.916985]        do_syscall_64+0x9f/0x4f0
[ 4240.921150]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 4240.926722] 
               other info that might help us debug this:

[ 4240.934729]  Possible unsafe locking scenario:

[ 4240.940676]        CPU0                    CPU1
[ 4240.945211]        ----                    ----
[ 4240.949733]   lock(&xfs_nondir_ilock_class);
[ 4240.954041]                                lock(fs_reclaim);
[ 4240.959721]                                lock(&xfs_nondir_ilock_class);
[ 4240.966500]   lock(fs_reclaim);
[ 4240.969640] 
                *** DEADLOCK ***

[ 4240.975543] 1 lock held by chacl/376734:
[ 4240.979461]  #0: ffff88800cedf8f0 (&xfs_nondir_ilock_class){++++}, at:
xfs_ilock_attr_map_shared+0x4c/0xd0 [xfs]
[ 4240.989667] 
               stack backtrace:
[ 4240.994042] CPU: 2 PID: 376734 Comm: chacl Not tainted 5.6.0-rc4+ #1
[ 4241.000409] Hardware name: HP HP Z240 SFF Workstation/802E, BIOS N51 Ver.
01.21 03/02/2016
[ 4241.008674] Call Trace:
[ 4241.011127]  dump_stack+0x96/0xe0
[ 4241.014474]  check_noncircular+0x354/0x410
[ 4241.018586]  ? sched_clock_cpu+0x18/0x1d0
[ 4241.022591]  ? print_circular_bug+0x1e0/0x1e0
[ 4241.026983]  ? __lock_acquire+0xf64/0x4030
[ 4241.031064]  ? perf_trace_lock_acquire+0x5c0/0x5c0
[ 4241.035849]  ? sched_clock+0x5/0x10
[ 4241.039345]  ? sched_clock+0x5/0x10
[ 4241.042860]  __lock_acquire+0x23f7/0x4030
[ 4241.046899]  ? __lock_acquire+0xf64/0x4030
[ 4241.051002]  ? lockdep_hardirqs_on+0x590/0x590
[ 4241.055476]  lock_acquire+0x15a/0x3d0
[ 4241.059140]  ? fs_reclaim_acquire.part.55+0x5/0x30
[ 4241.063987]  ? kmem_alloc+0xf0/0x3e0 [xfs]
[ 4241.068072]  fs_reclaim_acquire.part.55+0x29/0x30
[ 4241.072766]  ? fs_reclaim_acquire.part.55+0x5/0x30
[ 4241.077564]  slab_pre_alloc_hook+0x14/0x80
[ 4241.081672]  __kmalloc+0x58/0x380
[ 4241.085036]  kmem_alloc+0xf0/0x3e0 [xfs]
[ 4241.089017]  ? kmem_alloc_large+0x9f/0x2e0 [xfs]
[ 4241.093637]  ? rcu_read_lock_bh_held+0xd0/0xd0
[ 4241.098123]  kmem_alloc_large+0x9f/0x2e0 [xfs]
[ 4241.102588]  ? xfs_attr_copy_value+0x134/0x200 [xfs]
[ 4241.107590]  xfs_attr_copy_value+0x134/0x200 [xfs]
[ 4241.112412]  xfs_attr_get+0x373/0x4f0 [xfs]
[ 4241.116628]  xfs_get_acl+0x192/0x510 [xfs]
[ 4241.120725]  ? rcu_read_lock_held+0xaf/0xc0
[ 4241.124987]  ? xfs_acl_from_disk+0x550/0x550 [xfs]
[ 4241.129769]  get_acl+0x10e/0x260
[ 4241.133002]  posix_acl_xattr_get+0xc6/0x1b0
[ 4241.137203]  __vfs_getxattr+0xbb/0x110
[ 4241.140947]  ? __vfs_setxattr+0x130/0x130
[ 4241.144977]  vfs_getxattr+0x185/0x1b0
[ 4241.148660]  ? __kasan_kmalloc.constprop.7+0xc1/0xd0
[ 4241.153636]  ? xattr_permission+0x1f0/0x1f0
[ 4241.157846]  ? __kmalloc_node+0x134/0x2c0
[ 4241.161852]  ? strncpy_from_user+0x7d/0x350
[ 4241.166044]  getxattr+0xea/0x220
[ 4241.169287]  ? __ia32_sys_llistxattr+0xb0/0xb0
[ 4241.173721]  ? __kasan_kmalloc.constprop.7+0xc1/0xd0
[ 4241.178670]  ? strncpy_from_user+0x7d/0x350
[ 4241.182867]  ? kmem_cache_alloc+0x34a/0x380
[ 4241.187065]  ? getname_flags+0xf8/0x510
[ 4241.190899]  ? syscall_trace_enter+0x549/0xcf0
[ 4241.195333]  path_getxattr+0xae/0x110
[ 4241.199000]  ? getxattr+0x220/0x220
[ 4241.202493]  ? trace_hardirqs_on_thunk+0x1a/0x1c
[ 4241.207116]  ? do_syscall_64+0x22/0x4f0
[ 4241.210954]  do_syscall_64+0x9f/0x4f0
[ 4241.214637]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 4241.219686] RIP: 0033:0x7f04e21f1c5e
[ 4241.223290] Code: 73 01 c3 48 8b 0d 2a 22 2c 00 f7 d8 64 89 01 48 83 c8 ff
c3 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 49 89 ca b8 bf 00 00 00 0f 05 <48> 3d 01
f0 ff ff 73 01 c3 48 8b 0d fa 21 2c 00 f7 d8 64 89 01 48
[ 4241.242030] RSP: 002b:00007ffd876ecd58 EFLAGS: 00000246 ORIG_RAX:
00000000000000bf
[ 4241.249586] RAX: ffffffffffffffda RBX: 0000000000008000 RCX:
00007f04e21f1c5e
[ 4241.256722] RDX: 00007ffd876ecd60 RSI: 00007f04e26c61ef RDI:
00007ffd876ef351
[ 4241.263868] RBP: 00007ffd876eceb0 R08: 0000000000000000 R09:
0000000000000000
[ 4241.271033] R10: 0000000000000084 R11: 0000000000000246 R12:
00007ffd876ef351
[ 4241.278148] R13: 00007ffd876ecd60 R14: 00007f04e26c61ef R15:
0000000000000000
[ 4241.341907] XFS (sda2): Unmounting Filesystem
[ 4241.576470] XFS (sda3): Unmounting Filesystem
[ 4241.845011] XFS (sda3): Mounting V5 Filesystem
[ 4241.868871] XFS (sda3): Ending clean mount
[ 4241.878933] xfs filesystem being mounted at /mnt/xfstests/mnt2 supports
timestamps until 2038 (0x7fffffff)
[ 4241.897754] XFS (sda3): Unmounting Filesystem

-- 
You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux