syzbot


BUG: corrupted list in mousedev_release

Status: fixed on 2020/09/25 01:17
Subsystems: input
[Documentation on labels]
Fix commit: 77f4689de17c fix regression in "epoll: Keep a reference on files added to the check list"
First crash: 1562d, last: 1561d
Cause bisection: introduced by (bisect log) :
commit a9ed4a6560b8562b7e2e2bed9527e88001f7b682
Author: Marc Zyngier <maz@kernel.org>
Date: Wed Aug 19 16:12:17 2020 +0000

  epoll: Keep a reference on files added to the check list

Crash: BUG: corrupted list in mousedev_detach_client (log)
Repro: syz .config
  
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: corrupted list in mousedev_release syz done 1 1562d 1562d 1/1 fixed on 2020/09/30 06:27
linux-4.14 BUG: corrupted list in mousedev_release syz done 1 1563d 1563d 1/1 fixed on 2020/09/30 06:39

Sample crash report:
list_del corruption, ffff888094edf810->prev is LIST_POISON2 (dead000000000122)
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:48!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8286 Comm: syz-executor.2 Not tainted 5.9.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__list_del_entry_valid.cold+0x37/0x55 lib/list_debug.c:48
Code: be fd 0f 0b 4c 89 ea 48 89 ee 48 c7 c7 20 1c 94 88 e8 11 94 be fd 0f 0b 4c 89 e2 48 89 ee 48 c7 c7 80 1c 94 88 e8 fd 93 be fd <0f> 0b 48 89 ee 48 c7 c7 40 1d 94 88 e8 ec 93 be fd 0f 0b cc cc cc
RSP: 0018:ffffc9000a757e10 EFLAGS: 00010286
RAX: 000000000000004e RBX: ffff88809a407000 RCX: 0000000000000000
RDX: ffff888094c1e080 RSI: ffffffff815db9a7 RDI: fffff520014eafb4
RBP: ffff888094edf810 R08: 000000000000004e R09: ffff8880ae7318e7
R10: 0000000000000000 R11: 00000000000c5148 R12: dead000000000122
R13: ffff88809a4070a0 R14: ffff888094edf810 R15: ffff888094edf818
FS:  000000000236f940(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000016a8660 CR3: 0000000096060000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __list_del_entry include/linux/list.h:132 [inline]
 list_del_rcu include/linux/rculist.h:158 [inline]
 mousedev_detach_client drivers/input/mousedev.c:515 [inline]
 mousedev_release+0x7d/0x1f0 drivers/input/mousedev.c:525
 __fput+0x285/0x920 fs/file_table.c:281
 task_work_run+0xdd/0x190 kernel/task_work.c:141
 tracehook_notify_resume include/linux/tracehook.h:188 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:140 [inline]
 exit_to_user_mode_prepare+0x1e1/0x200 kernel/entry/common.c:167
 syscall_exit_to_user_mode+0x7e/0x2e0 kernel/entry/common.c:242
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x416f01
Code: 75 14 b8 03 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 04 1b 00 00 c3 48 83 ec 08 e8 0a fc ff ff 48 89 04 24 b8 03 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 53 fc ff ff 48 89 d0 48 83 c4 08 48 3d 01
RSP: 002b:00007ffe37e40530 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000004 RCX: 0000000000416f01
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 0000000000000003
RBP: 0000000000000000 R08: 0000000001190360 R09: 0000000000000000
R10: 00007ffe37e40610 R11: 0000000000000293 R12: 0000000001190368
R13: 0000000000000000 R14: ffffffffffffffff R15: 000000000118cf4c
Modules linked in:
---[ end trace d44202991ab24b10 ]---
RIP: 0010:__list_del_entry_valid.cold+0x37/0x55 lib/list_debug.c:48
Code: be fd 0f 0b 4c 89 ea 48 89 ee 48 c7 c7 20 1c 94 88 e8 11 94 be fd 0f 0b 4c 89 e2 48 89 ee 48 c7 c7 80 1c 94 88 e8 fd 93 be fd <0f> 0b 48 89 ee 48 c7 c7 40 1d 94 88 e8 ec 93 be fd 0f 0b cc cc cc
RSP: 0018:ffffc9000a757e10 EFLAGS: 00010286
RAX: 000000000000004e RBX: ffff88809a407000 RCX: 0000000000000000
RDX: ffff888094c1e080 RSI: ffffffff815db9a7 RDI: fffff520014eafb4
RBP: ffff888094edf810 R08: 000000000000004e R09: ffff8880ae7318e7
R10: 0000000000000000 R11: 00000000000c5148 R12: dead000000000122
R13: ffff88809a4070a0 R14: ffff888094edf810 R15: ffff888094edf818
FS:  000000000236f940(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000016a8660 CR3: 0000000096060000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/09/01 02:38 upstream f75aef392f86 d5a3ae1f .config console log report syz ci-upstream-kasan-gce-selinux-root
2020/09/01 02:02 upstream f75aef392f86 d5a3ae1f .config console log report syz ci-upstream-kasan-gce-root
2020/08/31 12:25 upstream dcc5c6f013d8 d5a3ae1f .config console log report syz ci-upstream-kasan-gce
2020/08/30 22:37 upstream 1127b219ce94 d5a3ae1f .config console log report syz ci-upstream-kasan-gce-386
2020/09/01 14:01 linux-next b36c969764ab d5a3ae1f .config console log report syz ci-upstream-linux-next-kasan-gce-root
* Struck through repros no longer work on HEAD.