public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [syzbot] [xfs?] inconsistent lock state in igrab
@ 2026-02-14  4:57 syzbot
  2026-02-14  8:18 ` syzbot
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: syzbot @ 2026-02-14  4:57 UTC (permalink / raw)
  To: cem, linux-kernel, linux-xfs, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    8a5203c630c6 Merge tag 'v7.0-rc-part1-smb3-client-fixes' o..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=158b97fa580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=e987256b161b7ac5
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

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/a3e5efac4c35/disk-8a5203c6.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/d4bd99ed6dad/vmlinux-8a5203c6.xz
kernel image: https://storage.googleapis.com/syzbot-assets/228bf34253f1/bzImage-8a5203c6.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+5eb0d61dfb76ca12670c@syzkaller.appspotmail.com

I/O error, dev loop8, sector 18692 op 0x0:(READ) flags 0x880700 phys_seg 1 prio class 2
================================
WARNING: inconsistent lock state
syzkaller #0 Tainted: G             L     
--------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
kworker/u8:12/11736 [HC0[0]:SC1[1]:HE1:SE0] takes:
ffff88807fafd500 (&sb->s_type->i_lock_key#50){+.?.}-{3:3}, at: spin_lock include/linux/spinlock.h:351 [inline]
ffff88807fafd500 (&sb->s_type->i_lock_key#50){+.?.}-{3:3}, at: igrab+0x2a/0x230 fs/inode.c:1574
{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:1213
  xfs_finish_inode_setup fs/xfs/xfs_inode.h:630 [inline]
  xfs_setup_existing_inode fs/xfs/xfs_inode.h:637 [inline]
  xfs_iget+0x1196/0x30f0 fs/xfs/xfs_icache.c:814
  xfs_mountfs+0x108c/0x20b0 fs/xfs/xfs_mount.c:1072
  xfs_fs_fill_super+0x153f/0x1f20 fs/xfs/xfs_super.c:1947
  get_tree_bdev_flags+0x38c/0x620 fs/super.c:1694
  vfs_get_tree+0x92/0x320 fs/super.c:1754
  fc_mount fs/namespace.c:1193 [inline]
  do_new_mount_fc fs/namespace.c:3761 [inline]
  do_new_mount fs/namespace.c:3837 [inline]
  path_mount+0x7d0/0x23d0 fs/namespace.c:4147
  do_mount fs/namespace.c:4160 [inline]
  __do_sys_mount fs/namespace.c:4349 [inline]
  __se_sys_mount fs/namespace.c:4326 [inline]
  __x64_sys_mount+0x293/0x310 fs/namespace.c:4326
  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: 1437372
hardirqs last  enabled at (1437372): [<ffffffff8b7b9792>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
hardirqs last  enabled at (1437372): [<ffffffff8b7b9792>] _raw_spin_unlock_irqrestore+0x52/0x80 kernel/locking/spinlock.c:194
hardirqs last disabled at (1437371): [<ffffffff8b7b94a2>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline]
hardirqs last disabled at (1437371): [<ffffffff8b7b94a2>] _raw_spin_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:162
softirqs last  enabled at (1437320): [<ffffffff872b1a07>] spin_unlock_bh include/linux/spinlock.h:396 [inline]
softirqs last  enabled at (1437320): [<ffffffff872b1a07>] nsim_dev_trap_report drivers/net/netdevsim/dev.c:890 [inline]
softirqs last  enabled at (1437320): [<ffffffff872b1a07>] nsim_dev_trap_report_work+0x8c7/0xd10 drivers/net/netdevsim/dev.c:921
softirqs last disabled at (1437353): [<ffffffff81c7a2cf>] __do_softirq kernel/softirq.c:656 [inline]
softirqs last disabled at (1437353): [<ffffffff81c7a2cf>] invoke_softirq kernel/softirq.c:496 [inline]
softirqs last disabled at (1437353): [<ffffffff81c7a2cf>] __irq_exit_rcu+0xef/0x150 kernel/softirq.c:723

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&sb->s_type->i_lock_key#50);
  <Interrupt>
    lock(&sb->s_type->i_lock_key#50);

 *** DEADLOCK ***

2 locks held by kworker/u8:12/11736:
 #0: ffff888079e6c148 ((wq_completion)loop8){+.+.}-{0:0}, at: process_one_work+0x11ae/0x1840 kernel/workqueue.c:3232
 #1: ffffc9001333fc98 ((work_completion)(&worker->work)){+.+.}-{0:0}, at: process_one_work+0x927/0x1840 kernel/workqueue.c:3233

stack backtrace:
CPU: 1 UID: 0 PID: 11736 Comm: kworker/u8:12 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/24/2026
Workqueue: loop8 loop_workfn
Call Trace:
 <IRQ>
 __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:1574
 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:1709
 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
 __do_softirq kernel/softirq.c:656 [inline]
 invoke_softirq kernel/softirq.c:496 [inline]
 __irq_exit_rcu+0xef/0x150 kernel/softirq.c:723
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:739
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline]
 sysvec_apic_timer_interrupt+0xa3/0xc0 arch/x86/kernel/apic/apic.c:1056
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline]
RIP: 0010:_raw_spin_unlock_irq+0x29/0x50 kernel/locking/spinlock.c:202
Code: 90 f3 0f 1e fa 53 48 8b 74 24 08 48 89 fb 48 83 c7 18 e8 fa 9c 67 f6 48 89 df e8 e2 ea 67 f6 e8 fd 31 93 f6 fb bf 01 00 00 00 <e8> 92 39 58 f6 65 8b 05 1b 79 6a 08 85 c0 74 06 5b e9 ec a9 94 f5
RSP: 0018:ffffc9001333fb30 EFLAGS: 00000202
RAX: 000000000015eea7 RBX: ffff888141bdd0c8 RCX: 0000000000000040
RDX: 0000000000000000 RSI: ffffffff8dc4d62d RDI: 0000000000000001
RBP: ffff888141bdd168 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888141bdd168
R13: ffff888141bdd170 R14: ffffffff8e211280 R15: 0000000004208060
 spin_unlock_irq include/linux/spinlock.h:401 [inline]
 loop_process_work+0xa0a/0x11c0 drivers/block/loop.c:1977
 process_one_work+0x9c2/0x1840 kernel/workqueue.c:3257
 process_scheduled_works kernel/workqueue.c:3340 [inline]
 worker_thread+0x5da/0xe40 kernel/workqueue.c:3421
 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>
----------------
Code disassembly (best guess):
   0:	90                   	nop
   1:	f3 0f 1e fa          	endbr64
   5:	53                   	push   %rbx
   6:	48 8b 74 24 08       	mov    0x8(%rsp),%rsi
   b:	48 89 fb             	mov    %rdi,%rbx
   e:	48 83 c7 18          	add    $0x18,%rdi
  12:	e8 fa 9c 67 f6       	call   0xf6679d11
  17:	48 89 df             	mov    %rbx,%rdi
  1a:	e8 e2 ea 67 f6       	call   0xf667eb01
  1f:	e8 fd 31 93 f6       	call   0xf6933221
  24:	fb                   	sti
  25:	bf 01 00 00 00       	mov    $0x1,%edi
* 2a:	e8 92 39 58 f6       	call   0xf65839c1 <-- trapping instruction
  2f:	65 8b 05 1b 79 6a 08 	mov    %gs:0x86a791b(%rip),%eax        # 0x86a7951
  36:	85 c0                	test   %eax,%eax
  38:	74 06                	je     0x40
  3a:	5b                   	pop    %rbx
  3b:	e9 ec a9 94 f5       	jmp    0xf594aa2c


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [syzbot] [xfs?] inconsistent lock state in igrab
  2026-02-14  4:57 [syzbot] [xfs?] inconsistent lock state in igrab syzbot
@ 2026-02-14  8:18 ` syzbot
  2026-02-14 12:00 ` Forwarded: Private message regarding: " syzbot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14  8:18 UTC (permalink / raw)
  To: cem, linux-kernel, linux-xfs, syzkaller-bugs

syzbot has found a reproducer for the following issue on:

HEAD commit:    cd7a5651db26 alpha: add missing address argument in call t..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13b47e5a580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=e600149b13c010eb
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
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=15df8722580000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17f362aa580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/ea46ed04f19d/disk-cd7a5651.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ee7aa4ba7700/vmlinux-cd7a5651.xz
kernel image: https://storage.googleapis.com/syzbot-assets/70280d10edbe/bzImage-cd7a5651.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/41cb64e4f612/mount_0.gz
  fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=1105a6e6580000)

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+5eb0d61dfb76ca12670c@syzkaller.appspotmail.com

I/O error, dev loop0, sector 512 op 0x0:(READ) flags 0x880700 phys_seg 1 prio class 2
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/0/15 [HC0[0]:SC1[1]:HE1:SE0] takes:
ffff888059619180 (&sb->s_type->i_lock_key#36){+.?.}-{3:3}, at: spin_lock include/linux/spinlock.h:341 [inline]
ffff888059619180 (&sb->s_type->i_lock_key#36){+.?.}-{3:3}, at: igrab+0x2a/0x230 fs/inode.c:1583
{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:158 [inline]
  _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
  spin_lock include/linux/spinlock.h:341 [inline]
  unlock_new_inode+0x7a/0x330 fs/inode.c:1222
  xfs_finish_inode_setup fs/xfs/xfs_inode.h:630 [inline]
  xfs_setup_existing_inode fs/xfs/xfs_inode.h:637 [inline]
  xfs_iget+0x1196/0x30f0 fs/xfs/xfs_icache.c:814
  xfs_mountfs+0x108c/0x20b0 fs/xfs/xfs_mount.c:1072
  xfs_fs_fill_super+0x153f/0x1f20 fs/xfs/xfs_super.c:1938
  get_tree_bdev_flags+0x38c/0x620 fs/super.c:1694
  vfs_get_tree+0x92/0x320 fs/super.c:1754
  fc_mount fs/namespace.c:1193 [inline]
  do_new_mount_fc fs/namespace.c:3760 [inline]
  do_new_mount fs/namespace.c:3836 [inline]
  path_mount+0x7d0/0x23d0 fs/namespace.c:4146
  do_mount fs/namespace.c:4159 [inline]
  __do_sys_mount fs/namespace.c:4348 [inline]
  __se_sys_mount fs/namespace.c:4325 [inline]
  __x64_sys_mount+0x293/0x310 fs/namespace.c:4325
  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
  do_syscall_64+0x106/0xf80 arch/x86/entry/syscall_64.c:94
  entry_SYSCALL_64_after_hwframe+0x77/0x7f
irq event stamp: 972992
hardirqs last  enabled at (972992): [<ffffffff8b820072>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:178 [inline]
hardirqs last  enabled at (972992): [<ffffffff8b820072>] _raw_spin_unlock_irqrestore+0x52/0x80 kernel/locking/spinlock.c:194
hardirqs last disabled at (972991): [<ffffffff8b81fd82>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:130 [inline]
hardirqs last disabled at (972991): [<ffffffff8b81fd82>] _raw_spin_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:162
softirqs last  enabled at (972968): [<ffffffff81c7bb68>] run_ksoftirqd kernel/softirq.c:1063 [inline]
softirqs last  enabled at (972968): [<ffffffff81c7bb68>] run_ksoftirqd+0x38/0x60 kernel/softirq.c:1055
softirqs last disabled at (972973): [<ffffffff81c7bb68>] run_ksoftirqd kernel/softirq.c:1063 [inline]
softirqs last disabled at (972973): [<ffffffff81c7bb68>] 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#36);
  <Interrupt>
    lock(&sb->s_type->i_lock_key#36);

 *** DEADLOCK ***

no locks held by ksoftirqd/0/15.

stack backtrace:
CPU: 0 UID: 0 PID: 15 Comm: ksoftirqd/0 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:158 [inline]
 _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
 spin_lock include/linux/spinlock.h:341 [inline]
 igrab+0x2a/0x230 fs/inode.c:1583
 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:1790
 blk_update_request+0x741/0x1330 block/blk-mq.c:1016
 blk_mq_end_request+0x5b/0x420 block/blk-mq.c:1178
 lo_complete_rq+0x1d4/0x2a0 drivers/block/loop.c:314
 blk_complete_reqs+0xb1/0xf0 block/blk-mq.c:1253
 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+0x370/0x450 kernel/kthread.c:467
 ret_from_fork+0x754/0xd80 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Forwarded: Private message regarding: [syzbot] [xfs?] inconsistent lock state in igrab
  2026-02-14  4:57 [syzbot] [xfs?] inconsistent lock state in igrab syzbot
  2026-02-14  8:18 ` syzbot
@ 2026-02-14 12:00 ` syzbot
  2026-02-14 12:05 ` syzbot
  2026-02-14 16:16 ` Forwarded: " syzbot
  3 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14 12:00 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: Private message regarding: [syzbot] [xfs?] inconsistent lock state in igrab
Author: kapoorarnav43@gmail.com

#syz test
From 7e7a6c0e2d9a2d7b9f9a4f5b1b0f2a1c7f0a1234 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: Sat, 14 Feb 2026 12:00:00 +0000
Subject: [PATCH] fs: fserror: avoid igrab in atomic contexts
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

fserror_report() can be called from softirq/atomic contexts (e.g. I/O
endio paths). Using igrab() there takes i_lock, which is also acquired
with softirqs enabled in process context, triggering lockdep warnings
and a potential softirq recursion deadlock.

All fserror_report() callers already hold a live reference to the inode,
so use ihold() to take a safe reference without grabbing i_lock.

Reported-by: syzbot+5eb0d61dfb76ca12670c@syzkaller.appspotmail.com
Signed-off-by: Your Name <you@example.com>
---
 fs/fserror.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/fs/fserror.c b/fs/fserror.c
index 0123456789ab..fedcba987654 100644
--- a/fs/fserror.c
+++ b/fs/fserror.c
@@ -159,16 +159,13 @@ void fserror_report(struct super_block *sb, struct 
inode *inode,
     event->len = len;
     event->error = error;

     /*
-  * Can't iput from non-sleeping context, so grabbing another reference
-  * to the inode must be the last thing before submitting the event.
+  * Can't iput from non-sleeping context, so grabbing another reference
+  * to the inode must be the last thing before submitting the event.
+  * The caller must hold a live reference if @inode is provided.
      */
     if (inode) {
- event->inode = igrab(inode);
- if (!event->inode)
- goto lost_event;
+ ihold(inode);
+ event->inode = inode;
     }

     /*
@@ -184,9 +181,7 @@ void fserror_report(struct super_block *sb, struct 
inode *inode,
     schedule_work(&event->work);
     return;

-lost_event:
- fserror_free_event(event);
 lost:
     if (inode)
         pr_err_ratelimited("%s: lost file I/O error report for ino %lu 
type %u pos 0x%llx len 0x%llx error %d",
--
2.43.0

On Saturday, 14 February 2026 at 13:48:38 UTC+5:30 syzbot wrote:

syzbot has found a reproducer for the following issue on: 

HEAD commit: cd7a5651db26 alpha: add missing address argument in call t.. 
git tree: upstream 
console output: https://syzkaller.appspot.com/x/log.txt?x=13b47e5a580000 
kernel config: https://syzkaller.appspot.com/x/.config?x=e600149b13c010eb 
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 
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15df8722580000 
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17f362aa580000 

Downloadable assets: 
disk image: 
https://storage.googleapis.com/syzbot-assets/ea46ed04f19d/disk-cd7a5651.raw.xz 
vmlinux: 
https://storage.googleapis.com/syzbot-assets/ee7aa4ba7700/vmlinux-cd7a5651.xz 
kernel image: 
https://storage.googleapis.com/syzbot-assets/70280d10edbe/bzImage-cd7a5651.xz 
mounted in repro: 
https://storage.googleapis.com/syzbot-assets/41cb64e4f612/mount_0.gz 
fsck result: failed (log: 
https://syzkaller.appspot.com/x/fsck.log?x=1105a6e6580000) 

IMPORTANT: if you fix the issue, please add the following tag to the 
commit: 
Reported-by: syzbot+5eb0d6...@syzkaller.appspotmail.com 

I/O error, dev loop0, sector 512 op 0x0:(READ) flags 0x880700 phys_seg 1 
prio class 2 
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/0/15 [HC0[0]:SC1[1]:HE1:SE0] takes: 
ffff888059619180 (&sb->s_type->i_lock_key#36){+.?.}-{3:3}, at: spin_lock 
include/linux/spinlock.h:341 [inline] 
ffff888059619180 (&sb->s_type->i_lock_key#36){+.?.}-{3:3}, at: 
igrab+0x2a/0x230 fs/inode.c:1583 
{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:158 [inline] 
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 
spin_lock include/linux/spinlock.h:341 [inline] 
unlock_new_inode+0x7a/0x330 fs/inode.c:1222 
xfs_finish_inode_setup fs/xfs/xfs_inode.h:630 [inline] 
xfs_setup_existing_inode fs/xfs/xfs_inode.h:637 [inline] 
xfs_iget+0x1196/0x30f0 fs/xfs/xfs_icache.c:814 
xfs_mountfs+0x108c/0x20b0 fs/xfs/xfs_mount.c:1072 
xfs_fs_fill_super+0x153f/0x1f20 fs/xfs/xfs_super.c:1938 
get_tree_bdev_flags+0x38c/0x620 fs/super.c:1694 
vfs_get_tree+0x92/0x320 fs/super.c:1754 
fc_mount fs/namespace.c:1193 [inline] 
do_new_mount_fc fs/namespace.c:3760 [inline] 
do_new_mount fs/namespace.c:3836 [inline] 
path_mount+0x7d0/0x23d0 fs/namespace.c:4146 
do_mount fs/namespace.c:4159 [inline] 
__do_sys_mount fs/namespace.c:4348 [inline] 
__se_sys_mount fs/namespace.c:4325 [inline] 
__x64_sys_mount+0x293/0x310 fs/namespace.c:4325 
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] 
do_syscall_64+0x106/0xf80 arch/x86/entry/syscall_64.c:94 
entry_SYSCALL_64_after_hwframe+0x77/0x7f 
irq event stamp: 972992 
hardirqs last enabled at (972992): [<ffffffff8b820072>] 
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:178 [inline] 
hardirqs last enabled at (972992): [<ffffffff8b820072>] 
_raw_spin_unlock_irqrestore+0x52/0x80 kernel/locking/spinlock.c:194 
hardirqs last disabled at (972991): [<ffffffff8b81fd82>] 
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:130 [inline] 
hardirqs last disabled at (972991): [<ffffffff8b81fd82>] 
_raw_spin_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:162 
softirqs last enabled at (972968): [<ffffffff81c7bb68>] run_ksoftirqd 
kernel/softirq.c:1063 [inline] 
softirqs last enabled at (972968): [<ffffffff81c7bb68>] 
run_ksoftirqd+0x38/0x60 kernel/softirq.c:1055 
softirqs last disabled at (972973): [<ffffffff81c7bb68>] run_ksoftirqd 
kernel/softirq.c:1063 [inline] 
softirqs last disabled at (972973): [<ffffffff81c7bb68>] 
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#36); 
<Interrupt> 
lock(&sb->s_type->i_lock_key#36); 

*** DEADLOCK *** 

no locks held by ksoftirqd/0/15. 

stack backtrace: 
CPU: 0 UID: 0 PID: 15 Comm: ksoftirqd/0 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:158 [inline] 
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 
spin_lock include/linux/spinlock.h:341 [inline] 
igrab+0x2a/0x230 fs/inode.c:1583 
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:1790 
blk_update_request+0x741/0x1330 block/blk-mq.c:1016 
blk_mq_end_request+0x5b/0x420 block/blk-mq.c:1178 
lo_complete_rq+0x1d4/0x2a0 drivers/block/loop.c:314 
blk_complete_reqs+0xb1/0xf0 block/blk-mq.c:1253 
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+0x370/0x450 kernel/kthread.c:467 
ret_from_fork+0x754/0xd80 arch/x86/kernel/process.c:158 
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 
</TASK> 


--- 
If you want syzbot to run the reproducer, reply with: 
#syz test: git://repo/address.git branch-or-commit-hash 
If you attach or paste a git patch, syzbot will apply it before testing. 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [syzbot] [xfs?] inconsistent lock state in igrab
       [not found] <0f5afbcb-7060-4cdf-a831-e18159dc294en@googlegroups.com>
@ 2026-02-14 12:02 ` syzbot
  0 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14 12:02 UTC (permalink / raw)
  To: kapoorarnav43, linux-kernel, syzkaller-bugs

Hello,

syzbot tried to test the proposed patch but the build/boot failed:

failed to apply patch:
checking file fs/fserror.c
patch: **** unexpected end of file in patch



Tested on:

commit:         770aaedb Merge tag 'bootconfig-v7.0' of git://git.kern..
git tree:       upstream
kernel config:  https://syzkaller.appspot.com/x/.config?x=e600149b13c010eb
dashboard link: https://syzkaller.appspot.com/bug?extid=5eb0d61dfb76ca12670c
compiler:       
patch:          https://syzkaller.appspot.com/x/patch.diff?x=15adac02580000


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Forwarded: Private message regarding: [syzbot] [xfs?] inconsistent lock state in igrab
  2026-02-14  4:57 [syzbot] [xfs?] inconsistent lock state in igrab syzbot
  2026-02-14  8:18 ` syzbot
  2026-02-14 12:00 ` Forwarded: Private message regarding: " syzbot
@ 2026-02-14 12:05 ` syzbot
  2026-02-14 16:16 ` Forwarded: " syzbot
  3 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14 12:05 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: Private message regarding: [syzbot] [xfs?] inconsistent lock state in igrab
Author: kapoorarnav43@gmail.com

#syz test 
From 7e7a6c0e2d9a2d7b9f9a4f5b1b0f2a1c7f0a1234 Mon Sep 17 00:00:00 2001
From: Arnav Kapoor <arnav@example.com>
Date: Sat, 14 Feb 2026 17:35:00 +0000
Subject: [PATCH] fs: fserror: avoid igrab in atomic contexts
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

fserror_report() can be called from softirq/atomic contexts. Using
igrab() there takes i_lock, which is also acquired with softirqs enabled
in process context, triggering lockdep warnings and a potential softirq
recursion deadlock.

All fserror_report() callers already hold a live reference to the inode,
so use ihold() to take a safe reference without grabbing i_lock.

Reported-by: syzbot+5eb0d61dfb76ca12670c@syzkaller.appspotmail.com
Signed-off-by: Arnav Kapoor <arnav@example.com>
---
 fs/fserror.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/fs/fserror.c b/fs/fserror.c
index 0123456789ab..fedcba987654 100644
--- a/fs/fserror.c
+++ b/fs/fserror.c
@@ -159,16 +159,13 @@ void fserror_report(struct super_block *sb, struct 
inode *inode,
     event->len = len;
     event->error = error;

     /*
-  * Can't iput from non-sleeping context, so grabbing another reference
-  * to the inode must be the last thing before submitting the event.
+  * Can't iput from non-sleeping context, so grabbing another reference
+  * to the inode must be the last thing before submitting the event.
+  * The caller must hold a live reference if @inode is provided.
      */
     if (inode) {
- event->inode = igrab(inode);
- if (!event->inode)
- goto lost_event;
+ ihold(inode);
+ event->inode = inode;
     }

     /*
@@ -184,9 +181,7 @@ void fserror_report(struct super_block *sb, struct 
inode *inode,
     schedule_work(&event->work);
     return;

-lost_event:
- fserror_free_event(event);
 lost:
     if (inode)
         pr_err_ratelimited("%s: lost file I/O error report for ino %lu 
type %u pos 0x%llx len 0x%llx error %d",
--
2.43.0

On Saturday, 14 February 2026 at 17:32:10 UTC+5:30 syzbot wrote:

Hello, 

syzbot tried to test the proposed patch but the build/boot failed: 

failed to apply patch: 
checking file fs/fserror.c 
patch: **** unexpected end of file in patch 



Tested on: 

commit: 770aaedb Merge tag 'bootconfig-v7.0' of git://git.kern.. 
git tree: upstream 
kernel config: https://syzkaller.appspot.com/x/.config?x=e600149b13c010eb 
dashboard link: https://syzkaller.appspot.com/bug?extid=5eb0d61dfb76ca12670c 
compiler: 
patch: https://syzkaller.appspot.com/x/patch.diff?x=15adac02580000 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [syzbot] [xfs?] inconsistent lock state in igrab
       [not found] <ccad088e-2446-4b76-88da-2810d0a12633n@googlegroups.com>
@ 2026-02-14 12:07 ` syzbot
  0 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14 12:07 UTC (permalink / raw)
  To: kapoorarnav43, linux-kernel, syzkaller-bugs

Hello,

syzbot tried to test the proposed patch but the build/boot failed:

failed to apply patch:
checking file fs/fserror.c
patch: **** unexpected end of file in patch



Tested on:

commit:         770aaedb Merge tag 'bootconfig-v7.0' of git://git.kern..
git tree:       upstream
kernel config:  https://syzkaller.appspot.com/x/.config?x=e600149b13c010eb
dashboard link: https://syzkaller.appspot.com/bug?extid=5eb0d61dfb76ca12670c
compiler:       
patch:          https://syzkaller.appspot.com/x/patch.diff?x=1370115a580000


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Forwarded: Re: [syzbot] [xfs?] inconsistent lock state in igrab
  2026-02-14  4:57 [syzbot] [xfs?] inconsistent lock state in igrab syzbot
                   ` (2 preceding siblings ...)
  2026-02-14 12:05 ` syzbot
@ 2026-02-14 16:16 ` syzbot
  3 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14 16:16 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: Re: [syzbot] [xfs?] inconsistent lock state in igrab
Author: djwong@kernel.org

#syz test git://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git f90fa6ef5701f63c5ed29d93b6d58a2fde30836d

On Sat, Feb 14, 2026 at 12:18:36AM -0800, syzbot wrote:
> syzbot has found a reproducer for the following issue on:
> 
> HEAD commit:    cd7a5651db26 alpha: add missing address argument in call t..
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=13b47e5a580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=e600149b13c010eb
> 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
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=15df8722580000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17f362aa580000
> 
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/ea46ed04f19d/disk-cd7a5651.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/ee7aa4ba7700/vmlinux-cd7a5651.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/70280d10edbe/bzImage-cd7a5651.xz
> mounted in repro: https://storage.googleapis.com/syzbot-assets/41cb64e4f612/mount_0.gz
>   fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=1105a6e6580000)
> 
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+5eb0d61dfb76ca12670c@syzkaller.appspotmail.com
> 
> I/O error, dev loop0, sector 512 op 0x0:(READ) flags 0x880700 phys_seg 1 prio class 2
> 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/0/15 [HC0[0]:SC1[1]:HE1:SE0] takes:
> ffff888059619180 (&sb->s_type->i_lock_key#36){+.?.}-{3:3}, at: spin_lock include/linux/spinlock.h:341 [inline]
> ffff888059619180 (&sb->s_type->i_lock_key#36){+.?.}-{3:3}, at: igrab+0x2a/0x230 fs/inode.c:1583
> {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:158 [inline]
>   _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
>   spin_lock include/linux/spinlock.h:341 [inline]
>   unlock_new_inode+0x7a/0x330 fs/inode.c:1222
>   xfs_finish_inode_setup fs/xfs/xfs_inode.h:630 [inline]
>   xfs_setup_existing_inode fs/xfs/xfs_inode.h:637 [inline]
>   xfs_iget+0x1196/0x30f0 fs/xfs/xfs_icache.c:814
>   xfs_mountfs+0x108c/0x20b0 fs/xfs/xfs_mount.c:1072
>   xfs_fs_fill_super+0x153f/0x1f20 fs/xfs/xfs_super.c:1938
>   get_tree_bdev_flags+0x38c/0x620 fs/super.c:1694
>   vfs_get_tree+0x92/0x320 fs/super.c:1754
>   fc_mount fs/namespace.c:1193 [inline]
>   do_new_mount_fc fs/namespace.c:3760 [inline]
>   do_new_mount fs/namespace.c:3836 [inline]
>   path_mount+0x7d0/0x23d0 fs/namespace.c:4146
>   do_mount fs/namespace.c:4159 [inline]
>   __do_sys_mount fs/namespace.c:4348 [inline]
>   __se_sys_mount fs/namespace.c:4325 [inline]
>   __x64_sys_mount+0x293/0x310 fs/namespace.c:4325
>   do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
>   do_syscall_64+0x106/0xf80 arch/x86/entry/syscall_64.c:94
>   entry_SYSCALL_64_after_hwframe+0x77/0x7f
> irq event stamp: 972992
> hardirqs last  enabled at (972992): [<ffffffff8b820072>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:178 [inline]
> hardirqs last  enabled at (972992): [<ffffffff8b820072>] _raw_spin_unlock_irqrestore+0x52/0x80 kernel/locking/spinlock.c:194
> hardirqs last disabled at (972991): [<ffffffff8b81fd82>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:130 [inline]
> hardirqs last disabled at (972991): [<ffffffff8b81fd82>] _raw_spin_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:162
> softirqs last  enabled at (972968): [<ffffffff81c7bb68>] run_ksoftirqd kernel/softirq.c:1063 [inline]
> softirqs last  enabled at (972968): [<ffffffff81c7bb68>] run_ksoftirqd+0x38/0x60 kernel/softirq.c:1055
> softirqs last disabled at (972973): [<ffffffff81c7bb68>] run_ksoftirqd kernel/softirq.c:1063 [inline]
> softirqs last disabled at (972973): [<ffffffff81c7bb68>] 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#36);
>   <Interrupt>
>     lock(&sb->s_type->i_lock_key#36);
> 
>  *** DEADLOCK ***
> 
> no locks held by ksoftirqd/0/15.
> 
> stack backtrace:
> CPU: 0 UID: 0 PID: 15 Comm: ksoftirqd/0 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:158 [inline]
>  _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
>  spin_lock include/linux/spinlock.h:341 [inline]
>  igrab+0x2a/0x230 fs/inode.c:1583
>  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:1790
>  blk_update_request+0x741/0x1330 block/blk-mq.c:1016
>  blk_mq_end_request+0x5b/0x420 block/blk-mq.c:1178
>  lo_complete_rq+0x1d4/0x2a0 drivers/block/loop.c:314
>  blk_complete_reqs+0xb1/0xf0 block/blk-mq.c:1253
>  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+0x370/0x450 kernel/kthread.c:467
>  ret_from_fork+0x754/0xd80 arch/x86/kernel/process.c:158
>  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
>  </TASK>
> 
> 
> ---
> If you want syzbot to run the reproducer, reply with:
> #syz test: git://repo/address.git branch-or-commit-hash
> If you attach or paste a git patch, syzbot will apply it before testing.
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [syzbot] [xfs?] inconsistent lock state in igrab
       [not found] <20260214161618.GI7712@frogsfrogsfrogs>
@ 2026-02-14 16:56 ` syzbot
  0 siblings, 0 replies; 8+ messages in thread
From: syzbot @ 2026-02-14 16:56 UTC (permalink / raw)
  To: djwong, linux-kernel, syzkaller-bugs

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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-02-14 16:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-14  4:57 [syzbot] [xfs?] inconsistent lock state in igrab syzbot
2026-02-14  8:18 ` syzbot
2026-02-14 12:00 ` Forwarded: Private message regarding: " syzbot
2026-02-14 12:05 ` syzbot
2026-02-14 16:16 ` Forwarded: " syzbot
     [not found] <0f5afbcb-7060-4cdf-a831-e18159dc294en@googlegroups.com>
2026-02-14 12:02 ` syzbot
     [not found] <ccad088e-2446-4b76-88da-2810d0a12633n@googlegroups.com>
2026-02-14 12:07 ` syzbot
     [not found] <20260214161618.GI7712@frogsfrogsfrogs>
2026-02-14 16:56 ` syzbot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox