Hello,
syzbot found the following issue on:
HEAD commit: 228da13e907e Linux 6.1.175
git tree: linux-6.1.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=142b4d7a580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=4dd3c1715f0a309b
dashboard link:
https://syzkaller.appspot.com/bug?extid=82fd9eb70f1b05a48736
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/a1730af56ab4/disk-228da13e.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/eafe9b37a422/vmlinux-228da13e.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/7353ac7f337a/bzImage-228da13e.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+82fd9e...@syzkaller.appspotmail.com
=========================
WARNING: held lock freed!
syzkaller #0 Not tainted
-------------------------
gfs2_quotad/7952 is freeing memory ffff8880530eb5c0-ffff8880530ebbf7, with a lock still held there!
ffff8880530eb710 (&gfs2_quota_imutex_key){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
ffff8880530eb710 (&gfs2_quota_imutex_key){+.+.}-{3:3}, at: do_sync+0x36b/0xc40 fs/gfs2/quota.c:919
3 locks held by gfs2_quotad/7952:
#0: ffff8880769e8b70 (&sdp->sd_quota_sync_mutex){+.+.}-{3:3}, at: gfs2_quota_sync+0x91/0x700 fs/gfs2/quota.c:1313
#1: ffff8880530eb710 (&gfs2_quota_imutex_key){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
#1: ffff8880530eb710 (&gfs2_quota_imutex_key){+.+.}-{3:3}, at: do_sync+0x36b/0xc40 fs/gfs2/quota.c:919
#2: ffffffff8cb2df80 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
#2: ffffffff8cb2df80 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2291 [inline]
#2: ffffffff8cb2df80 (rcu_callback){....}-{0:0}, at: rcu_core+0xa29/0x1740 kernel/rcu/tree.c:2557
stack backtrace:
CPU: 0 PID: 7952 Comm: gfs2_quotad Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
<IRQ>
dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
print_freed_lock_bug kernel/locking/lockdep.c:6437 [inline]
debug_check_no_locks_freed+0x301/0x3e0 kernel/locking/lockdep.c:6470
slab_free_hook mm/slub.c:1701 [inline]
slab_free_freelist_hook+0xc1/0x1a0 mm/slub.c:1755
slab_free mm/slub.c:3687 [inline]
kmem_cache_free+0xf7/0x290 mm/slub.c:3709
rcu_do_batch kernel/rcu/tree.c:2297 [inline]
rcu_core+0xa99/0x1740 kernel/rcu/tree.c:2557
handle_softirqs+0x2a1/0x930 kernel/softirq.c:596
__do_softirq kernel/softirq.c:630 [inline]
invoke_softirq kernel/softirq.c:470 [inline]
__irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679
irq_exit_rcu+0x5/0x20 kernel/softirq.c:691
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0xbc/0x120 kernel/locking/spinlock.c:194
Code: c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f7 44 24 20 00 02 00 00 41 c6 04 07 f8 75 4b f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 <e8> af 7f 1f f7 65 8b 05 80 ff c8 75 85 c0 74 3c 48 c7 04 24 0e 36
RSP: 0018:ffffc90004caf9c0 EFLAGS: 00000206
RAX: dffffc0000000004 RBX: 0000000000000a02 RCX: 99a4e25d04666b00
RDX: dffffc0000000000 RSI: ffffffff8a8c1aa0 RDI: 0000000000000001
RBP: ffffc90004cafa50 R08: ffffffff90aff45f R09: 1ffffffff215fe8b
R10: dffffc0000000000 R11: fffffbfff215fe8c R12: dffffc0000000000
R13: 0000000000000a02 R14: ffff8880769e8500 R15: 1ffff92000995f38
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
__wake_up_common_lock kernel/sched/wait.c:140 [inline]
__wake_up+0x12e/0x1a0 kernel/sched/wait.c:160
gfs2_glock_put fs/gfs2/glock.c:314 [inline]
gfs2_holder_uninit fs/gfs2/glock.c:1304 [inline]
gfs2_glock_dq_uninit+0xd0/0xe0 fs/gfs2/glock.c:1739
do_sync+0x92a/0xc40 fs/gfs2/quota.c:983
gfs2_quota_sync+0x32c/0x700 fs/gfs2/quota.c:1329
quotad_check_timeo fs/gfs2/quota.c:1519 [inline]
gfs2_quotad+0x420/0x680 fs/gfs2/quota.c:1566
kthread+0x29d/0x330 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
</TASK>
----------------
Code disassembly (best guess):
0: c7 44 24 20 00 00 00 movl $0x0,0x20(%rsp)
7: 00
8: 9c pushf
9: 8f 44 24 20 pop 0x20(%rsp)
d: f7 44 24 20 00 02 00 testl $0x200,0x20(%rsp)
14: 00
15: 41 c6 04 07 f8 movb $0xf8,(%r15,%rax,1)
1a: 75 4b jne 0x67
1c: f7 c3 00 02 00 00 test $0x200,%ebx
22: 74 01 je 0x25
24: fb sti
25: bf 01 00 00 00 mov $0x1,%edi
* 2a: e8 af 7f 1f f7 call 0xf71f7fde <-- trapping instruction
2f: 65 8b 05 80 ff c8 75 mov %gs:0x75c8ff80(%rip),%eax # 0x75c8ffb6
36: 85 c0 test %eax,%eax
38: 74 3c je 0x76
3a: 48 rex.W
3b: c7 .byte 0xc7
3c: 04 24 add $0x24,%al
3e: 0e (bad)
3f: 36 ss
---
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
syzk...@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