syzbot


WARNING: bad unlock balance in do_con_write

Status: upstream: reported C repro on 2020/09/07 00:24
Reported-by: syzbot+8fbc17b525ad726548b8@syzkaller.appspotmail.com
First crash: 1572d, last: 1512d
Fix bisection: failed (error log, bisect log)
  
Last patch testing requests (2)
Created Duration User Patch Repo Result
2023/02/04 20:32 10m retest repro linux-4.14.y report log
2022/09/14 06:27 9m retest repro linux-4.14.y report log
Fix bisection attempts (3)
Created Duration User Patch Repo Result
2020/12/06 01:34 20m bisect fix linux-4.14.y error job log
2020/11/06 00:56 38m bisect fix linux-4.14.y OK (0) job log log
2020/10/07 00:24 31m bisect fix linux-4.14.y OK (0) job log log

Sample crash report:
audit: type=1400 audit(1599438077.700:8): avc:  denied  { execmem } for  pid=6360 comm="syz-executor959" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
=====================================
WARNING: bad unlock balance detected!
4.14.196-syzkaller #0 Not tainted
-------------------------------------
wpw/1904 is trying to release lock (console_lock) at:
[<ffffffff8348237f>] do_con_write+0xb2f/0x19b0 drivers/tty/vt/vt.c:2459
but there are no more locks to release!

other info that might help us debug this:
5 locks held by wpw/1904:
 #0:  (&tty->ldisc_sem){++++}, at: [<ffffffff8343db22>] tty_ldisc_ref_wait+0x22/0x80 drivers/tty/tty_ldisc.c:284
 #1:  (&tty->atomic_write_lock){+.+.}, at: [<ffffffff8342607d>] tty_write_lock drivers/tty/tty_io.c:885 [inline]
 #1:  (&tty->atomic_write_lock){+.+.}, at: [<ffffffff8342607d>] do_tty_write drivers/tty/tty_io.c:908 [inline]
 #1:  (&tty->atomic_write_lock){+.+.}, at: [<ffffffff8342607d>] tty_write+0x22d/0x740 drivers/tty/tty_io.c:1043
 #2:  ((null)){....}, at: [<0077770000000000>] 0x77770000000000
 #3:  ((null)){....}, at: [<0077000000000000>] 0x77000000000000
 #4:  (css_set_lock){..-.}, at: [<0770777000770077>] 0x770777000770077

stack backtrace:
CPU: 0 PID: 1904 Comm: wpw Not tainted 4.14.196-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x1b2/0x283 lib/dump_stack.c:58
 print_unlock_imbalance_bug include/trace/events/lock.h:58 [inline]
 __lock_release kernel/locking/lockdep.c:3769 [inline]
 lock_release.cold+0x70/0xbf kernel/locking/lockdep.c:4017
 __up_console_sem+0x1e/0x1b0 kernel/printk/printk.c:242
 console_unlock+0x531/0xf20 kernel/printk/printk.c:2419
 do_con_write+0xb2f/0x19b0 drivers/tty/vt/vt.c:2459
 con_write+0x21/0xa0 drivers/tty/vt/vt.c:2805
 process_output_block drivers/tty/n_tty.c:595 [inline]
 n_tty_write+0x352/0xda0 drivers/tty/n_tty.c:2333
 do_tty_write drivers/tty/tty_io.c:959 [inline]
 tty_write+0x410/0x740 drivers/tty/tty_io.c:1043
 __vfs_write+0xe4/0x630 fs/read_write.c:480
 __kernel_write+0xf5/0x330 fs/read_write.c:501
 write_pipe_buf+0x143/0x1c0 fs/splice.c:797
 splice_from_pipe_feed fs/splice.c:502 [inline]
 __splice_from_pipe+0x326/0x7a0 fs/splice.c:626
 splice_from_pipe fs/splice.c:661 [inline]
 default_file_splice_write+0xc5/0x150 fs/splice.c:809
 do_splice_from fs/splice.c:851 [inline]
 direct_splice_actor+0x115/0x160 fs/splice.c:1018
 splice_direct_to_actor+0x27c/0x730 fs/splice.c:973
 do_splice_direct+0x164/0x210 fs/splice.c:1061
 do_sendfile+0x47f/0xb30 fs/read_write.c:1441
 SYSC_sendfile64 fs/read_write.c:1502 [inline]
 SyS_sendfile64+0xff/0x110 fs/read_write.c:1488
 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
 entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x446ac9
RSP: 002b:00007fb296788d18 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00000000006dbc58 RCX: 0000000000446ac9
RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000004
RBP: 00000000006dbc50 R08: 65732f636f72702f R09: 65732f636f72702f
R10: 0800000080004103 R11: 0000000000000246 R12: 00000000006dbc5c
R13: 00007fb296788d20 R14: 00007fb296788d20 R15: 20c49ba5e353f7cf
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 0 PID: 1904 Comm: wpw Not tainted 4.14.196-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff8880001283c0 task.stack: ffff888000130000
RIP: 0010:update_curr+0x26/0x670 kernel/sched/fair.c:830
RSP: 0018:ffff8880aea07ce0 EFLAGS: 00010082
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffffffff0d5428f
RDX: 0000000000000ee7 RSI: ffff888000128440 RDI: 0000000000007738
RBP: 0000000000007700 R08: ffff88821fff7018 R09: ffff88821fff700f
R10: ffff88821fff7017 R11: 0000003471fce0a4 R12: 0000000000007700
R13: ffff888000128590 R14: ffffffff879d2d60 R15: ffff888000128440
FS:  00007fb296789700(0000) GS:ffff8880aea00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000004c1c33 CR3: 000000000003f000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 entity_tick kernel/sched/fair.c:4016 [inline]
 task_tick_fair+0x5f5/0x1130 kernel/sched/fair.c:9063
 scheduler_tick+0xf6/0x2d0 kernel/sched/core.c:3033
 update_process_times+0x40/0xa0 kernel/time/timer.c:1596
 tick_sched_handle+0x7d/0x150 kernel/time/tick-sched.c:165
 tick_sched_timer+0x92/0x200 kernel/time/tick-sched.c:1223
 __run_hrtimer kernel/time/hrtimer.c:1223 [inline]
 __hrtimer_run_queues+0x30b/0xc80 kernel/time/hrtimer.c:1287
 hrtimer_interrupt+0x1e6/0x5e0 kernel/time/hrtimer.c:1321
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1075 [inline]
 smp_apic_timer_interrupt+0x117/0x5e0 arch/x86/kernel/apic/apic.c:1100
 apic_timer_interrupt+0x93/0xa0 arch/x86/entry/entry_64.S:793
 </IRQ>
RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline]
RIP: 0010:console_unlock+0xb73/0xf20 kernel/printk/printk.c:2430
RSP: 0018:ffff888000137490 EFLAGS: 00000202 ORIG_RAX: ffffffffffffff10
RAX: ffff8880001283c0 RBX: 00000000000005ab RCX: 1ffffffff1027c6c
RDX: 0000000007700077 RSI: 0000000000000002 RDI: 0000000000000202
RBP: 00000000000005ab R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: ffff8880001283c0 R12: ffff8880aa4c0980
R13: 0000000000000066 R14: dffffc0000000000 R15: 00000000000005ab
 do_con_write+0xb2f/0x19b0 drivers/tty/vt/vt.c:2459
 con_write+0x21/0xa0 drivers/tty/vt/vt.c:2805
 process_output_block drivers/tty/n_tty.c:595 [inline]
 n_tty_write+0x352/0xda0 drivers/tty/n_tty.c:2333
 do_tty_write drivers/tty/tty_io.c:959 [inline]
 tty_write+0x410/0x740 drivers/tty/tty_io.c:1043
 __vfs_write+0xe4/0x630 fs/read_write.c:480
 __kernel_write+0xf5/0x330 fs/read_write.c:501
 write_pipe_buf+0x143/0x1c0 fs/splice.c:797
 splice_from_pipe_feed fs/splice.c:502 [inline]
 __splice_from_pipe+0x326/0x7a0 fs/splice.c:626
 splice_from_pipe fs/splice.c:661 [inline]
 default_file_splice_write+0xc5/0x150 fs/splice.c:809
 do_splice_from fs/splice.c:851 [inline]
 direct_splice_actor+0x115/0x160 fs/splice.c:1018
 splice_direct_to_actor+0x27c/0x730 fs/splice.c:973
 do_splice_direct+0x164/0x210 fs/splice.c:1061
 do_sendfile+0x47f/0xb30 fs/read_write.c:1441
 SYSC_sendfile64 fs/read_write.c:1502 [inline]
 SyS_sendfile64+0xff/0x110 fs/read_write.c:1488
 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
 entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x446ac9
RSP: 002b:00007fb296788d18 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00000000006dbc58 RCX: 0000000000446ac9
RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000004
RBP: 00000000006dbc50 R08: 65732f636f72702f R09: 65732f636f72702f
R10: 0800000080004103 R11: 0000000000000246 R12: 00000000006dbc5c
R13: 00007fb296788d20 R14: 00007fb296788d20 R15: 20c49ba5e353f7cf
Code: 00 00 00 00 00 48 b8 00 00 00 00 00 fc ff df 41 57 41 56 41 55 41 54 55 48 89 fd 48 83 c7 38 48 89 fa 53 48 c1 ea 03 48 83 ec 10 <80> 3c 02 00 0f 85 50 05 00 00 48 8d bd c8 00 00 00 48 8b 5d 38 
RIP: update_curr+0x26/0x670 kernel/sched/fair.c:830 RSP: ffff8880aea07ce0
---[ end trace 01d0e9215eeed6c1 ]---

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/09/07 00:24 linux-4.14.y 2f166cdcf8a9 abf9ba4f .config console log report syz C ci2-linux-4-14
* Struck through repros no longer work on HEAD.