syzbot
BUG: corrupted list in p9_fd_cancel
Status:
fixed on 2018/08/28 17:48
Subsystems:
v9fs
[Documentation on labels]
Reported-by: syzbot+735d926e9d1317c3310c@syzkaller.appspotmail.com
Fix commit:
9f476d7c540c
net/9p/trans_fd.c: fix race by holding the lock
First crash: 2969d, last: 2956d
Sample crash report:
list_del corruption, ffff8801ac6718e8->next is LIST_POISON1 (dead000000000100)
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:47!
invalid opcode: 0000 [#1] SMP KASAN
CPU: 0 PID: 5740 Comm: syz-executor954 Not tainted 4.18.0-rc4+ #142
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__list_del_entry_valid.cold.1+0x26/0x58 lib/list_debug.c:45
Code: 02 fe 0f 0b 4c 89 e2 48 89 de 48 c7 c7 20 66 1a 88 e8 4a 6e 02 fe 0f 0b 4c 89 ea 48 89 de 48 c7 c7 c0 65 1a 88 e8 36 6e 02 fe <0f> 0b 48 89 de 48 c7 c7 e0 66 1a 88 e8 25 6e 02 fe 0f 0b 48 89 de
RSP: 0018:ffff8801d68a71c0 EFLAGS: 00010286
RAX: 000000000000004e RBX: ffff8801ac6718e8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff81631821 RDI: 0000000000000001
RBP: ffff8801d68a71d8 R08: ffff8801d640a5c0 R09: ffffed003b5c4fc0
R10: ffffed003b5c4fc0 R11: ffff8801dae27e07 R12: dead000000000200
R13: dead000000000100 R14: ffff8801ac6718e8 R15: ffff8801ac6718f0
FS: 00007fb4fb192700(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000046a2e0 CR3: 00000001b2260000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__list_del_entry include/linux/list.h:117 [inline]
list_del include/linux/list.h:125 [inline]
p9_fd_cancel+0x104/0x360 net/9p/trans_fd.c:690
p9_client_rpc+0xf1f/0x1400 net/9p/client.c:800
p9_client_version net/9p/client.c:976 [inline]
p9_client_create+0xd09/0x16c9 net/9p/client.c:1069
v9fs_session_init+0x21a/0x1a80 fs/9p/v9fs.c:400
v9fs_mount+0x7c/0x900 fs/9p/vfs_super.c:135
mount_fs+0xae/0x328 fs/super.c:1277
vfs_kern_mount.part.34+0xdc/0x4e0 fs/namespace.c:1037
vfs_kern_mount fs/namespace.c:1027 [inline]
do_new_mount fs/namespace.c:2518 [inline]
do_mount+0x581/0x30e0 fs/namespace.c:2848
ksys_mount+0x12d/0x140 fs/namespace.c:3064
__do_sys_mount fs/namespace.c:3078 [inline]
__se_sys_mount fs/namespace.c:3075 [inline]
__x64_sys_mount+0xbe/0x150 fs/namespace.c:3075
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x445cf9
Code: e8 ec ba 02 00 48 83 c4 18 c3 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 ab 0e fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fb4fb191da8 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00000000006dbc44 RCX: 0000000000445cf9
RDX: 0000000020000780 RSI: 0000000020000740 RDI: 0000000000000000
RBP: 0000000000000000 R08: 00000000200007c0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 00000000006dbc40
R13: 0030656c69662f2e R14: 64663d736e617274 R15: 0000000000000001
Modules linked in:
Dumping ftrace buffer:
(ftrace buffer empty)
---[ end trace 64604f15e7f742b0 ]---
RIP: 0010:__list_del_entry_valid.cold.1+0x26/0x58 lib/list_debug.c:45
Code: 02 fe 0f 0b 4c 89 e2 48 89 de 48 c7 c7 20 66 1a 88 e8 4a 6e 02 fe 0f 0b 4c 89 ea 48 89 de 48 c7 c7 c0 65 1a 88 e8 36 6e 02 fe <0f> 0b 48 89 de 48 c7 c7 e0 66 1a 88 e8 25 6e 02 fe 0f 0b 48 89 de
RSP: 0018:ffff8801d68a71c0 EFLAGS: 00010286
RAX: 000000000000004e RBX: ffff8801ac6718e8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff81631821 RDI: 0000000000000001
RBP: ffff8801d68a71d8 R08: ffff8801d640a5c0 R09: ffffed003b5c4fc0
R10: ffffed003b5c4fc0 R11: ffff8801dae27e07 R12: dead000000000200
R13: dead000000000100 R14: ffff8801ac6718e8 R15: ffff8801ac6718f0
FS: 00007fb4fb192700(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000046a2e0 CR3: 00000001b2260000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
* Struck through repros no longer work on HEAD.