syzbot


general protection fault in dev_gro_receive (2)

Status: fixed on 2018/11/12 21:25
Subsystems: net
[Documentation on labels]
Fix commit: ece23711dd95 net: Properly unlink GRO packets on overflow.
First crash: 2017d, last: 2010d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in dev_gro_receive net syz 8 2019d 2031d 11/26 fixed on 2018/10/11 14:33

Sample crash report:
device nr0 entered promiscuous mode
device nr0 entered promiscuous mode
kasan: CONFIG_KASAN_INLINE enabled
kobject: 'tx-1' (0000000033ccdb23): kobject_add_internal: parent: 'queues', set: 'queues'
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8764 Comm: syz-executor3 Not tainted 4.19.0-rc8+ #67
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:dev_gro_receive+0x132/0x2720 net/core/dev.c:5449
Code: 48 c1 ea 03 80 3c 02 00 0f 85 6e 20 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 6e 10 49 8d bd d0 00 00 00 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 59 20 00 00 4d 8b a5 d0 00 00 00 31 ff 41 81 e4
kobject: 'tx-1' (0000000033ccdb23): kobject_uevent_env
RSP: 0018:ffff8801a9b77450 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff860affc5
RDX: 000000000000001a RSI: ffffffff860acc37 RDI: 00000000000000d0
RBP: ffff8801a9b77648 R08: ffff8801c47f4200 R09: 1ffffffff1273955
R10: ffffed003b5e4732 R11: ffff8801daf23993 R12: ffff8801a5ba7418
R13: 0000000000000000 R14: ffff8801b7392040 R15: 000000000000016d
FS:  00007f8d51bb5700(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f8d51b93db8 CR3: 00000001d7a4a000 CR4: 00000000001406e0
kobject: 'tx-1' (0000000033ccdb23): fill_kobj_path: path = '/devices/virtual/net/nr0/queues/tx-1'
Call Trace:
kobject: 'rx-1' (0000000077bb4c8a): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'rx-1' (0000000077bb4c8a): kobject_uevent_env
 napi_gro_frags+0x3f4/0xc90 net/core/dev.c:5737
kobject: 'rx-1' (0000000077bb4c8a): fill_kobj_path: path = '/devices/virtual/net/nr0/queues/rx-1'
kobject: 'nr0' (00000000e7ed6070): kobject_add_internal: parent: 'net', set: 'devices'
 tun_get_user+0x3189/0x4250 drivers/net/tun.c:1923
kobject: 'nr0' (00000000e7ed6070): kobject_uevent_env
kobject: 'nr0' (00000000e7ed6070): fill_kobj_path: path = '/devices/virtual/net/nr0'
kobject: 'queues' (000000009f908718): kobject_add_internal: parent: 'nr0', set: '<NULL>'
kobject: 'queues' (000000009f908718): kobject_uevent_env
 tun_chr_write_iter+0xb9/0x154 drivers/net/tun.c:1968
kobject: 'queues' (000000009f908718): kobject_uevent_env: filter function caused the event to drop!
 call_write_iter include/linux/fs.h:1808 [inline]
 new_sync_write fs/read_write.c:474 [inline]
 __vfs_write+0x6b8/0x9f0 fs/read_write.c:487
kobject: 'rx-0' (000000009fe94885): kobject_add_internal: parent: 'queues', set: 'queues'
 vfs_write+0x1fc/0x560 fs/read_write.c:549
 ksys_write+0x101/0x260 fs/read_write.c:598
kobject: 'rx-0' (000000009fe94885): kobject_uevent_env
kobject: 'rx-0' (000000009fe94885): fill_kobj_path: path = '/devices/virtual/net/nr0/queues/rx-0'
 __do_sys_write fs/read_write.c:610 [inline]
 __se_sys_write fs/read_write.c:607 [inline]
 __x64_sys_write+0x73/0xb0 fs/read_write.c:607
 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
kobject: 'tx-0' (0000000024b1bc1a): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-0' (0000000024b1bc1a): kobject_uevent_env
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x457569
Code: fd b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 cb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00
kobject: 'tx-0' (0000000024b1bc1a): fill_kobj_path: path = '/devices/virtual/net/nr0/queues/tx-0'
RSP: 002b:00007f8d51bb4c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000457569
RDX: 000000000000017b RSI: 0000000020000000 RDI: 000000000000000d
RBP: 000000000072c0e0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f8d51bb56d4
R13: 00000000004c5560 R14: 00000000004d8e98 R15: 00000000ffffffff
Modules linked in:
kobject: 'nr0' (00000000636eb4ed): kobject_add_internal: parent: 'net', set: 'devices'
---[ end trace 52b48ee18ae72641 ]---
kobject: 'nr0' (00000000636eb4ed): kobject_uevent_env
RIP: 0010:dev_gro_receive+0x132/0x2720 net/core/dev.c:5449
Code: 48 c1 ea 03 80 3c 02 00 0f 85 6e 20 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 6e 10 49 8d bd d0 00 00 00 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 59 20 00 00 4d 8b a5 d0 00 00 00 31 ff 41 81 e4
RSP: 0018:ffff8801a9b77450 EFLAGS: 00010202
kobject: 'nr0' (00000000636eb4ed): fill_kobj_path: path = '/devices/virtual/net/nr0'
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff860affc5
RDX: 000000000000001a RSI: ffffffff860acc37 RDI: 00000000000000d0
RBP: ffff8801a9b77648 R08: ffff8801c47f4200 R09: 1ffffffff1273955
R10: ffffed003b5e4732 R11: ffff8801daf23993 R12: ffff8801a5ba7418
R13: 0000000000000000 R14: ffff8801b7392040 R15: 000000000000016d
kobject: 'queues' (00000000ff9e94ef): kobject_add_internal: parent: 'nr0', set: '<NULL>'
FS:  00007f8d51bb5700(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f8d51b93db8 CR3: 00000001d7a4a000 CR4: 00000000001406e0

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/10/19 01:35 upstream fa520c47eaa1 9aba67b5 .config console log report syz ci-upstream-kasan-gce-smack-root
2018/10/16 04:05 bpf cee271678d0e 8cd30605 .config console log report ci-upstream-bpf-kasan-gce
2018/10/12 01:56 bpf cee271678d0e ba6ddb43 .config console log report ci-upstream-bpf-kasan-gce
2018/10/11 20:27 bpf cee271678d0e ba6ddb43 .config console log report ci-upstream-bpf-kasan-gce
* Struck through repros no longer work on HEAD.