Re: [syzbot] [xfs?] inconsistent lock state in igrab
From: syzbot
Date: Sat Feb 14 2026 - 11:56:12 EST
Hello,
syzbot has tested the proposed patch but the reproducer is still triggering an issue:
inconsistent lock state in igrab
I/O error, dev loop0, sector 18692 op 0x0:(READ) flags 0x880700 phys_seg 1 prio class 2
================================
WARNING: inconsistent lock state
syzkaller #0 Not tainted
--------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
ksoftirqd/1/23 [HC0[0]:SC1[1]:HE1:SE0] takes:
ffff888077208a00 (&sb->s_type->i_lock_key#35){+.?.}-{3:3}, at: spin_lock include/linux/spinlock.h:351 [inline]
ffff888077208a00 (&sb->s_type->i_lock_key#35){+.?.}-{3:3}, at: igrab+0x2a/0x230 fs/inode.c:1573
{SOFTIRQ-ON-W} state was registered at:
lock_acquire kernel/locking/lockdep.c:5868 [inline]
lock_acquire+0x17c/0x330 kernel/locking/lockdep.c:5825
__raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:351 [inline]
unlock_new_inode+0x7a/0x330 fs/inode.c:1212
xfs_finish_inode_setup fs/xfs/xfs_inode.h:630 [inline]
xfs_setup_existing_inode fs/xfs/xfs_inode.h:637 [inline]
xfs_iget+0x117e/0x3070 fs/xfs/xfs_icache.c:821
xfs_mountfs+0x108c/0x20b0 fs/xfs/xfs_mount.c:1072
xfs_fs_fill_super+0x153f/0x1f20 fs/xfs/xfs_super.c:1968
get_tree_bdev_flags+0x38c/0x620 fs/super.c:1694
vfs_get_tree+0x92/0x320 fs/super.c:1754
fc_mount fs/namespace.c:1199 [inline]
do_new_mount_fc fs/namespace.c:3636 [inline]
do_new_mount fs/namespace.c:3712 [inline]
path_mount+0x7d0/0x23c0 fs/namespace.c:4022
do_mount fs/namespace.c:4035 [inline]
__do_sys_mount fs/namespace.c:4224 [inline]
__se_sys_mount fs/namespace.c:4201 [inline]
__x64_sys_mount+0x293/0x310 fs/namespace.c:4201
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xc9/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
irq event stamp: 1324352
hardirqs last enabled at (1324352): [<ffffffff8b74a792>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
hardirqs last enabled at (1324352): [<ffffffff8b74a792>] _raw_spin_unlock_irqrestore+0x52/0x80 kernel/locking/spinlock.c:194
hardirqs last disabled at (1324351): [<ffffffff8b74a4a2>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline]
hardirqs last disabled at (1324351): [<ffffffff8b74a4a2>] _raw_spin_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:162
softirqs last enabled at (1324324): [<ffffffff81c77498>] run_ksoftirqd kernel/softirq.c:1063 [inline]
softirqs last enabled at (1324324): [<ffffffff81c77498>] run_ksoftirqd+0x38/0x60 kernel/softirq.c:1055
softirqs last disabled at (1324329): [<ffffffff81c77498>] run_ksoftirqd kernel/softirq.c:1063 [inline]
softirqs last disabled at (1324329): [<ffffffff81c77498>] run_ksoftirqd+0x38/0x60 kernel/softirq.c:1055
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&sb->s_type->i_lock_key#35);
<Interrupt>
lock(&sb->s_type->i_lock_key#35);
*** DEADLOCK ***
no locks held by ksoftirqd/1/23.
stack backtrace:
CPU: 1 UID: 0 PID: 23 Comm: ksoftirqd/1 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120
print_usage_bug.part.0+0x257/0x340 kernel/locking/lockdep.c:4042
print_usage_bug kernel/locking/lockdep.c:4010 [inline]
valid_state kernel/locking/lockdep.c:4056 [inline]
mark_lock_irq kernel/locking/lockdep.c:4267 [inline]
mark_lock+0x74a/0xa20 kernel/locking/lockdep.c:4753
mark_usage kernel/locking/lockdep.c:4642 [inline]
__lock_acquire+0x103a/0x2630 kernel/locking/lockdep.c:5191
lock_acquire kernel/locking/lockdep.c:5868 [inline]
lock_acquire+0x17c/0x330 kernel/locking/lockdep.c:5825
__raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:351 [inline]
igrab+0x2a/0x230 fs/inode.c:1573
fserror_report+0x3fd/0x750 fs/fserror.c:159
fserror_report_io include/linux/fserror.h:48 [inline]
iomap_finish_folio_read+0x168/0x2c0 fs/iomap/buffered-io.c:407
iomap_read_end_io+0x11a/0x430 fs/iomap/bio.c:17
bio_endio+0x755/0x8b0 block/bio.c:1675
blk_update_request+0x741/0x1330 block/blk-mq.c:1007
blk_mq_end_request+0x5b/0x420 block/blk-mq.c:1169
lo_complete_rq+0x1d4/0x2a0 drivers/block/loop.c:314
blk_complete_reqs+0xb1/0xf0 block/blk-mq.c:1244
handle_softirqs+0x1ea/0x910 kernel/softirq.c:622
run_ksoftirqd kernel/softirq.c:1063 [inline]
run_ksoftirqd+0x38/0x60 kernel/softirq.c:1055
smpboot_thread_fn+0x3d3/0xaa0 kernel/smpboot.c:160
kthread+0x3b3/0x730 kernel/kthread.c:463
ret_from_fork+0x754/0xaf0 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
</TASK>
I/O error, dev loop0, sector 8192 op 0x0:(READ) flags 0x880700 phys_seg 1 prio class 2
I/O error, dev loop0, sector 31856 op 0x0:(READ) flags 0x880700 phys_seg 1 prio class 2
Tested on:
commit: f90fa6ef fserror: fix lockdep complaint when igrabbing..
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=162a115a580000
kernel config: https://syzkaller.appspot.com/x/.config?x=edb00b8890416b0
dashboard link: https://syzkaller.appspot.com/bug?extid=5eb0d61dfb76ca12670c
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
Note: no patches were applied.