syzbot


WARNING: held lock freed in do_sync

Status: upstream: reported on 2026/06/12 07:24
Reported-by: syzbot+82fd9eb70f1b05a48736@syzkaller.appspotmail.com
First crash: 8d02h, last: 8d02h
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 WARNING: held lock freed in do_sync 4 1 93d 93d 0/3 upstream: reported on 2026/03/18 13:19

Sample crash report:
=========================
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

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/06/12 07:24 linux-6.1.y 228da13e907e e93da63e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan WARNING: held lock freed in do_sync
* Struck through repros no longer work on HEAD.