syzbot


usb-testing boot error: BUG: corrupted list in pick_next_task_fair

Status: upstream: reported on 2022/08/22 08:18
Reported-by: syzbot+b637b6748f2b5dc92271@syzkaller.appspotmail.com
First crash: 108d, last: 99d

Sample crash report:
list_del corruption. prev->next should be ffff88810e6dd628, but was ffff000000000000. (prev=ffff88810e7d00a8)
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:59!
invalid opcode: 0000 [#2] PREEMPT SMP KASAN
CPU: 0 PID: 241 Comm: kworker/u4:1 Tainted: G      D            6.0.0-rc1-syzkaller-00028-g4dce3b375179 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022
RIP: 0010:__list_del_entry_valid.cold+0x12/0x72 lib/list_debug.c:59
Code: fc ff 0f 0b 48 89 f1 48 c7 c7 e0 b2 62 86 4c 89 e6 e8 25 1f fc ff 0f 0b 4c 89 e1 48 89 ee 48 c7 c7 40 b5 62 86 e8 11 1f fc ff <0f> 0b 48 89 ee 48 c7 c7 20 b4 62 86 e8 00 1f fc ff 0f 0b 4c 89 e2
RSP: 0000:ffffc9000177fcc8 EFLAGS: 00010082
RAX: 000000000000006d RBX: ffff8881f6837b00 RCX: 0000000000000000
RDX: ffff88810e6db900 RSI: ffffffff812c97e8 RDI: fffff520002eff8b
RBP: ffff88810e6dd628 R08: 000000000000006d R09: 0000000000000000
R10: 0000000080000002 R11: 0000000000000000 R12: ffff88810e7d00a8
R13: ffff88810e6b1d28 R14: ffff8881f68385e8 R15: ffffc9000177fda0
FS:  0000000000000000(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff88823ffff000 CR3: 0000000007825000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __list_del_entry include/linux/list.h:134 [inline]
 list_move include/linux/list.h:217 [inline]
 pick_next_task_fair+0x170/0xf80 kernel/sched/fair.c:7468
 __pick_next_task kernel/sched/core.c:5804 [inline]
 pick_next_task kernel/sched/core.c:6313 [inline]
 __schedule+0x3a3/0x26f0 kernel/sched/core.c:6458
 do_task_dead+0xd1/0x100 kernel/sched/core.c:6512
 do_exit+0x18bd/0x2930 kernel/exit.c:847
 call_usermodehelper_exec_async+0x418/0x580 kernel/umh.c:125
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:freelist_dereference mm/slub.c:347 [inline]
RIP: 0010:get_freepointer mm/slub.c:354 [inline]
RIP: 0010:get_freepointer_safe mm/slub.c:368 [inline]
RIP: 0010:slab_alloc_node mm/slub.c:3211 [inline]
RIP: 0010:slab_alloc mm/slub.c:3251 [inline]
RIP: 0010:kmem_cache_alloc_trace+0x15e/0x3b0 mm/slub.c:3282
Code: 8b 51 08 48 8b 01 48 83 79 10 00 48 89 44 24 08 0f 84 9d 01 00 00 48 85 c0 0f 84 94 01 00 00 48 8b 7d 00 8b 4d 28 40 f6 c7 0f <48> 8b 1c 08 0f 85 a0 01 00 00 48 8d 4a 08 65 48 0f c7 0f 0f 94 c0
RSP: 0000:ffffc9000001fce8 EFLAGS: 00010246
RAX: ffff000000000000 RBX: 0000000000000000 RCX: 0000000000000800
RDX: 0000000000004d49 RSI: 0000000000000dc0 RDI: 000000000003b470
RBP: ffff888100042140 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000dc0
R13: 0000000000000a20 R14: 0000000000000dc0 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff88823ffff000 CR3: 0000000007825000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	8b 51 08             	mov    0x8(%rcx),%edx
   3:	48 8b 01             	mov    (%rcx),%rax
   6:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
   b:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
  10:	0f 84 9d 01 00 00    	je     0x1b3
  16:	48 85 c0             	test   %rax,%rax
  19:	0f 84 94 01 00 00    	je     0x1b3
  1f:	48 8b 7d 00          	mov    0x0(%rbp),%rdi
  23:	8b 4d 28             	mov    0x28(%rbp),%ecx
  26:	40 f6 c7 0f          	test   $0xf,%dil
* 2a:	48 8b 1c 08          	mov    (%rax,%rcx,1),%rbx <-- trapping instruction
  2e:	0f 85 a0 01 00 00    	jne    0x1d4
  34:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
  38:	65 48 0f c7 0f       	cmpxchg16b %gs:(%rdi)
  3d:	0f 94 c0             	sete   %al

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-upstream-usb 2022/08/27 01:06 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 4dce3b375179 07177916 .config log report usb-testing boot error: BUG: corrupted list in pick_next_task_fair
ci2-upstream-usb 2022/08/18 08:09 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 568035b01cfb d58e263f .config log report usb-testing boot error: BUG: corrupted list in pick_next_task_fair
* Struck through repros no longer work on HEAD.