syzbot


general protection fault in skb_segment

Status: auto-obsoleted due to no activity on 2024/04/03 02:38
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+b0285c01c1cd09086300@syzkaller.appspotmail.com
First crash: 187d, last: 173d
Fix bisection: fixed by (bisect log) :
commit a1ab650f1421af85657b436ec10e6cd7b9e43b0c
Author: Eric Dumazet <edumazet@google.com>
Date: Tue Dec 19 12:53:31 2023 +0000

  net: check dev->gso_max_size in gso_features_check()

  
Bug presence (4)
Date Name Commit Repro Result
2023/12/11 lts (merge base) 80529b4968a8 C [report] general protection fault in skb_segment
2024/01/25 lts (merge base) ddcaf4999061 C Didn't crash
2023/12/11 upstream (ToT) a39b6ac3781d C [report] general protection fault in skb_segment
2024/01/25 upstream (ToT) 6098d87eaf31 C Didn't crash
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-10 general protection fault in skb_segment C done 1 173d 187d 0/2 auto-obsoleted due to no activity on 2024/04/02 16:56
linux-4.14 general protection fault in skb_segment 1 710d 710d 0/1 auto-obsoleted due to no activity on 2022/11/02 17:51
upstream general protection fault in skb_segment (3) net C done 2 306d 306d 23/27 fixed on 2023/10/12 12:48
upstream general protection fault in skb_segment sctp C 7 2349d 2359d 4/27 fixed on 2018/01/29 03:39
android-6-1 general protection fault in skb_segment origin:upstream missing-backport C done done 1 94d 185d 0/2 upstream: reported C repro on 2023/12/13 03:03
upstream general protection fault in skb_segment (4) net C error 4 180d 188d 25/27 fixed on 2024/01/22 01:16
upstream general protection fault in skb_segment (2) net 1 1215d 1215d 0/27 auto-closed as invalid on 2021/05/17 11:26
android-54 general protection fault in skb_segment C 1 103d 187d 0/2 auto-obsoleted due to no activity on 2024/06/11 14:46
Last patch testing requests (1)
Created Duration User Patch Repo Result
2023/12/25 02:30 6m retest repro android13-5.15-lts report log

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc000000000e: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000070-0x0000000000000077]
CPU: 1 PID: 294 Comm: syz-executor327 Not tainted 5.15.138-syzkaller-00282-gb1355f1607d5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
RIP: 0010:skb_segment+0x2ebe/0x4540 net/core/skbuff.c:4132
Code: 30 81 7c 24 40 ff ff 00 00 0f 85 49 de ff ff e8 a8 ef 8f fd 49 8d 5c 24 70 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <0f> b6 04 08 84 c0 0f 85 bf 08 00 00 44 8b 2b 4c 8b b4 24 a8 00 00
RSP: 0018:ffffc90000927060 EFLAGS: 00010202
RAX: 000000000000000e RBX: 0000000000000070 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: ffff88811f6f557e RDI: 000000000000ffff
RBP: ffffc900009272d0 R08: ffffffff83dfedba R09: ffffffff83e4748c
R10: 0000000000000002 R11: ffff88811e32e2c0 R12: 0000000000000000
R13: ffff88811f6f55d4 R14: ffff88811f6f5570 R15: 0000000000000000
FS:  000055555596d380(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020010000 CR3: 000000011e5a0000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 udp6_ufo_fragment+0x87a/0xd40 net/ipv6/udp_offload.c:107
 ipv6_gso_segment+0x64a/0x1120 net/ipv6/ip6_offload.c:116
 skb_mac_gso_segment+0x27c/0x490 net/core/dev.c:3370
 __skb_gso_segment+0x32d/0x4c0 net/core/dev.c:3443
 skb_gso_segment include/linux/netdevice.h:5009 [inline]
 validate_xmit_skb+0x30a/0xce0 net/core/dev.c:3702
 __dev_queue_xmit+0x12d2/0x2e70 net/core/dev.c:4243
 dev_queue_xmit+0x17/0x20 net/core/dev.c:4285
 packet_snd net/packet/af_packet.c:3039 [inline]
 packet_sendmsg+0x47a9/0x6350 net/packet/af_packet.c:3070
 sock_sendmsg_nosec net/socket.c:704 [inline]
 __sock_sendmsg net/socket.c:716 [inline]
 __sys_sendto+0x564/0x720 net/socket.c:2056
 __do_sys_sendto net/socket.c:2068 [inline]
 __se_sys_sendto net/socket.c:2064 [inline]
 __x64_sys_sendto+0xe5/0x100 net/socket.c:2064
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7fd15b634419
Code: 48 83 c4 28 c3 e8 d7 19 00 00 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 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff05299ae8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 00007fd15b681390 RCX: 00007fd15b634419
RDX: 0000000000010048 RSI: 00000000200000c0 RDI: 0000000000000003
RBP: 0000000000000003 R08: 0000000020000540 R09: 0000000000000014
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff05299b40
R13: 00007fff05299b10 R14: 0000000000000001 R15: 00007fff05299b40
 </TASK>
Modules linked in:
---[ end trace 1ba3712c5c047f80 ]---
RIP: 0010:skb_segment+0x2ebe/0x4540 net/core/skbuff.c:4132
Code: 30 81 7c 24 40 ff ff 00 00 0f 85 49 de ff ff e8 a8 ef 8f fd 49 8d 5c 24 70 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <0f> b6 04 08 84 c0 0f 85 bf 08 00 00 44 8b 2b 4c 8b b4 24 a8 00 00
RSP: 0018:ffffc90000927060 EFLAGS: 00010202
RAX: 000000000000000e RBX: 0000000000000070 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: ffff88811f6f557e RDI: 000000000000ffff
RBP: ffffc900009272d0 R08: ffffffff83dfedba R09: ffffffff83e4748c
R10: 0000000000000002 R11: ffff88811e32e2c0 R12: 0000000000000000
R13: ffff88811f6f55d4 R14: ffff88811f6f5570 R15: 0000000000000000
FS:  000055555596d380(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020010000 CR3: 000000011e5a0000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	81 7c 24 40 ff ff 00 	cmpl   $0xffff,0x40(%rsp)
   7:	00
   8:	0f 85 49 de ff ff    	jne    0xffffde57
   e:	e8 a8 ef 8f fd       	call   0xfd8fefbb
  13:	49 8d 5c 24 70       	lea    0x70(%r12),%rbx
  18:	48 89 d8             	mov    %rbx,%rax
  1b:	48 c1 e8 03          	shr    $0x3,%rax
  1f:	48 b9 00 00 00 00 00 	movabs $0xdffffc0000000000,%rcx
  26:	fc ff df
* 29:	0f b6 04 08          	movzbl (%rax,%rcx,1),%eax <-- trapping instruction
  2d:	84 c0                	test   %al,%al
  2f:	0f 85 bf 08 00 00    	jne    0x8f4
  35:	44 8b 2b             	mov    (%rbx),%r13d
  38:	4c                   	rex.WR
  39:	8b                   	.byte 0x8b
  3a:	b4 24                	mov    $0x24,%ah
  3c:	a8 00                	test   $0x0,%al

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/12/11 02:28 android13-5.15-lts b1355f1607d5 28b24332 .config strace log report syz C [disk image] [vmlinux] [kernel image] ci2-android-5-15 general protection fault in skb_segment
* Struck through repros no longer work on HEAD.