syzbot


WARNING: bad unlock balance in vkms_vblank_simulate

Status: auto-obsoleted due to no activity on 2024/01/09 18:18
Subsystems: dri reiserfs
[Documentation on labels]
Reported-by: syzbot+5671b8bcd5178fe56c23@syzkaller.appspotmail.com
First crash: 279d, last: 251d
Cause bisection: introduced by (bisect log) [ignored commit]:
commit e73aaae2fa9024832e1f42e30c787c7baf61d014
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date: Sat May 7 12:03:46 2022 +0000

  siphash: use one source of truth for siphash permutations

Crash: BUG: unable to handle kernel paging request in leaf_paste_entries (log)
Repro: C syz .config
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [dri?] [reiserfs?] WARNING: bad unlock balance in vkms_vblank_simulate 0 (1) 2023/08/13 07:24
Last patch testing requests (7)
Created Duration User Patch Repo Result
2024/01/09 15:11 20m retest repro linux-next OK log
2023/11/28 16:23 28m retest repro linux-next OK log
2023/10/31 14:47 14m retest repro linux-next report log
2023/09/19 12:08 22m retest repro linux-next report log
2023/08/22 14:27 17m retest repro linux-next report log
2023/08/14 12:56 15m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 71cd4fc492ec report log
2023/08/14 11:14 19m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 71cd4fc492ec report log
Cause bisection attempts (2)
Created Duration User Patch Repo Result
2023/08/24 14:45 6h59m bisect linux-next job log (1) log
2023/08/09 14:18 1m bisect linux-next error job log (0)
marked invalid by nogikh@google.com

Sample crash report:
=====================================
WARNING: bad unlock balance detected!
6.5.0-next-20230905-syzkaller #0 Not tainted
-------------------------------------
swapper/0/0 is trying to release lock (&vkms_out->enabled_lock) at:
[<ffffffff852dc8e9>] vkms_vblank_simulate+0x159/0x3d0 drivers/gpu/drm/vkms/vkms_crtc.c:34
but there are no more locks to release!

other info that might help us debug this:
no locks held by swapper/0/0.

stack backtrace:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.5.0-next-20230905-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106
 __lock_release kernel/locking/lockdep.c:5430 [inline]
 lock_release+0x4b5/0x680 kernel/locking/lockdep.c:5773
 __mutex_unlock_slowpath+0xa3/0x640 kernel/locking/mutex.c:907
 vkms_vblank_simulate+0x159/0x3d0 drivers/gpu/drm/vkms/vkms_crtc.c:34
 __run_hrtimer kernel/time/hrtimer.c:1688 [inline]
 __hrtimer_run_queues+0x203/0xc10 kernel/time/hrtimer.c:1752
 hrtimer_interrupt+0x31b/0x800 kernel/time/hrtimer.c:1814
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1063 [inline]
 __sysvec_apic_timer_interrupt+0x105/0x3f0 arch/x86/kernel/apic/apic.c:1080
 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1074
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:native_irq_disable arch/x86/include/asm/irqflags.h:37 [inline]
RIP: 0010:arch_local_irq_disable arch/x86/include/asm/irqflags.h:72 [inline]
RIP: 0010:acpi_safe_halt+0x1b/0x20 drivers/acpi/processor_idle.c:113
Code: ed c3 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 65 48 8b 04 25 c0 bc 03 00 48 8b 00 a8 08 75 0c 66 90 0f 00 2d 27 1a b5 00 fb f4 <fa> c3 0f 1f 00 0f b6 47 08 3c 01 74 0b 3c 02 74 05 8b 7f 04 eb 9f
RSP: 0000:ffffffff8c807d70 EFLAGS: 00000246
RAX: 0000000000004000 RBX: 0000000000000001 RCX: ffffffff8a3f211e
RDX: 0000000000000001 RSI: ffff8880132fe800 RDI: ffff8880132fe864
RBP: ffff8880132fe864 R08: 0000000000000001 R09: ffffed1017306dbd
R10: ffff8880b9836deb R11: 0000000000000000 R12: ffff888141e67000
R13: ffffffff8d660c20 R14: 0000000000000000 R15: 0000000000000000
 acpi_idle_enter+0xc5/0x160 drivers/acpi/processor_idle.c:707
 cpuidle_enter_state+0x82/0x500 drivers/cpuidle/cpuidle.c:267
 cpuidle_enter+0x4e/0xa0 drivers/cpuidle/cpuidle.c:388
 cpuidle_idle_call kernel/sched/idle.c:215 [inline]
 do_idle+0x315/0x3f0 kernel/sched/idle.c:282
 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:379
 rest_init+0x16f/0x2b0 init/main.c:726
 arch_call_rest_init+0x13/0x30 init/main.c:823
 start_kernel+0x39f/0x480 init/main.c:1068
 x86_64_start_reservations+0x18/0x30 arch/x86/kernel/head64.c:556
 x86_64_start_kernel+0xb2/0xc0 arch/x86/kernel/head64.c:537
 secondary_startup_64_no_verify+0x166/0x16b
 </TASK>
----------------
Code disassembly (best guess):
   0:	ed                   	in     (%dx),%eax
   1:	c3                   	ret
   2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
   9:	00 00 00 00
   d:	66 90                	xchg   %ax,%ax
   f:	65 48 8b 04 25 c0 bc 	mov    %gs:0x3bcc0,%rax
  16:	03 00
  18:	48 8b 00             	mov    (%rax),%rax
  1b:	a8 08                	test   $0x8,%al
  1d:	75 0c                	jne    0x2b
  1f:	66 90                	xchg   %ax,%ax
  21:	0f 00 2d 27 1a b5 00 	verw   0xb51a27(%rip)        # 0xb51a4f
  28:	fb                   	sti
  29:	f4                   	hlt
* 2a:	fa                   	cli <-- trapping instruction
  2b:	c3                   	ret
  2c:	0f 1f 00             	nopl   (%rax)
  2f:	0f b6 47 08          	movzbl 0x8(%rdi),%eax
  33:	3c 01                	cmp    $0x1,%al
  35:	74 0b                	je     0x42
  37:	3c 02                	cmp    $0x2,%al
  39:	74 05                	je     0x40
  3b:	8b 7f 04             	mov    0x4(%rdi),%edi
  3e:	eb 9f                	jmp    0xffffffdf

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/09/05 11:58 linux-next c50216cfa084 8bc9053e .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root WARNING: bad unlock balance in vkms_vblank_simulate
2023/08/09 07:20 linux-next 71cd4fc492ec 3c27dfcd .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root WARNING: bad unlock balance in vkms_vblank_simulate
* Struck through repros no longer work on HEAD.