syzbot
BUG: corrupted list in p9_read_work (2)
Status:
fixed on 2020/09/16 22:51
Subsystems:
v9fs
[Documentation on labels]
Reported-by: syzbot+77a25acfa0382e06ab23@syzkaller.appspotmail.com
Fix commit:
74d6a5d56629
9p/trans_fd: Fix concurrency del of req_list in p9_fd_cancelled/p9_read_work
First crash: 2803d, last: 2441d
Cause bisection: the issue happens on the oldest tested release
(bisect log)
Crash: no output from test machine (
log)
Repro:
syz
.config
▶
▼
Fix bisection attempts (3)
Sample crash report:
list_del corruption, ffff88809c5d6fb0->next is LIST_POISON1 (dead000000000100)
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:45!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 2663 Comm: kworker/0:2 Not tainted 5.3.0-rc3+ #103
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events p9_read_work
RIP: 0010:__list_del_entry_valid.cold+0x23/0x4f lib/list_debug.c:45
Code: e8 05 02 1e fe 0f 0b 4c 89 f6 48 c7 c7 60 27 c6 87 e8 f4 01 1e fe 0f 0b 4c 89 ea 4c 89 f6 48 c7 c7 a0 26 c6 87 e8 e0 01 1e fe <0f> 0b 4c 89 e2 4c 89 f6 48 c7 c7 00 27 c6 87 e8 cc 01 1e fe 0f 0b
RSP: 0018:ffff8880a1917c40 EFLAGS: 00010282
RAX: 000000000000004e RBX: ffff88809c5d6f00 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff815c3ba6 RDI: ffffed1014322f7a
RBP: ffff8880a1917c58 R08: 000000000000004e R09: ffffed1015d060d1
R10: ffffed1015d060d0 R11: ffff8880ae830687 R12: dead000000000122
R13: dead000000000100 R14: ffff88809c5d6fb0 R15: ffff88809c5d6fb0
FS: 0000000000000000(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000009fde90 CR3: 0000000099824000 CR4: 00000000001406f0
Call Trace:
__list_del_entry include/linux/list.h:131 [inline]
list_del include/linux/list.h:139 [inline]
p9_read_work+0xa35/0x10a0 net/9p/trans_fd.c:363
process_one_work+0x9af/0x1740 kernel/workqueue.c:2269
worker_thread+0x98/0xe40 kernel/workqueue.c:2415
kthread+0x361/0x430 kernel/kthread.c:255
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352
Modules linked in:
---[ end trace b0bfeaeca581df7c ]---
RIP: 0010:__list_del_entry_valid.cold+0x23/0x4f lib/list_debug.c:45
Code: e8 05 02 1e fe 0f 0b 4c 89 f6 48 c7 c7 60 27 c6 87 e8 f4 01 1e fe 0f 0b 4c 89 ea 4c 89 f6 48 c7 c7 a0 26 c6 87 e8 e0 01 1e fe <0f> 0b 4c 89 e2 4c 89 f6 48 c7 c7 00 27 c6 87 e8 cc 01 1e fe 0f 0b
RSP: 0018:ffff8880a1917c40 EFLAGS: 00010282
RAX: 000000000000004e RBX: ffff88809c5d6f00 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff815c3ba6 RDI: ffffed1014322f7a
RBP: ffff8880a1917c58 R08: 000000000000004e R09: ffffed1015d060d1
R10: ffffed1015d060d0 R11: ffff8880ae830687 R12: dead000000000122
R13: dead000000000100 R14: ffff88809c5d6fb0 R15: ffff88809c5d6fb0
FS: 0000000000000000(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000009fde90 CR3: 0000000099824000 CR4: 00000000001406f0
* Struck through repros no longer work on HEAD.