syzbot


BUG: unable to handle kernel paging request in ip6_fragment

Status: fixed on 2019/04/12 08:05
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+e8ce541d095e486074fc@syzkaller.appspotmail.com
Fix commit: ef0efcd3bd3f ipv6: Fix dangling pointer when ipv6 fragment
First crash: 1906d, last: 1906d
Discussions (9)
Title Replies (including bot) Last reply
[PATCH 4.14 00/69] 4.14.112-stable review 88 (88) 2019/04/27 13:54
[PATCH 4.4 000/168] 4.4.179-stable review 178 (178) 2019/04/25 19:37
[PATCH 4.19 000/101] 4.19.35-stable review 111 (111) 2019/04/17 16:40
[PATCH 5.0 000/117] 5.0.8-stable review 125 (125) 2019/04/17 11:04
[PATCH 4.9 00/76] 4.9.169-stable review 100 (100) 2019/04/17 06:47
[PATCH v4 net] ipv6: Fix dangling pointer when ipv6 fragment 2 (2) 2019/04/04 04:43
[PATCH v3 net] ipv6: Fix dangling pointer when ipv6 fragment 6 (6) 2019/04/03 06:47
[PATCH net] ipv6: Fix dangling pointer when ipv6 fragment 7 (7) 2019/04/02 01:12
BUG: unable to handle kernel paging request in ip6_fragment 0 (1) 2019/03/29 10:21

Sample crash report:
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0)
bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0)
BUG: unable to handle kernel paging request at ffffed10184a61b2
#PF error: [normal kernel read fault]
PGD 21fff0067 P4D 21fff0067 PUD 12fff9067 PMD 0 
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 30201 Comm: syz-executor.3 Not tainted 5.0.0+ #139
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:ip6_fragment+0x17d3/0x3760 net/ipv6/ip6_output.c:830
Code: 48 8b bd 70 ff ff ff 0f b7 c0 48 03 87 c0 00 00 00 48 29 c1 48 89 cf 48 01 f7 48 01 d7 48 89 f8 48 89 fa 48 c1 e8 03 83 e2 07 <42> 0f b6 04 20 38 d0 7f 08 84 c0 0f 85 b2 16 00 00 48 89 d8 c6 07
RSP: 0018:ffff8880ae906cf8 EFLAGS: 00010206
RAX: 1ffff110184a61b2 RBX: ffff888093e2c2b8 RCX: 000000002e704b06
RDX: 0000000000000006 RSI: 0000000000000010 RDI: ffff8880c2530d96
RBP: ffff8880ae906e50 R08: 1ffff110127c5852 R09: ffffed10127c5857
R10: ffff8880982f0274 R11: ffff888093e2c2b7 R12: dffffc0000000000
R13: ffff8880982f0080 R14: ffff8880982f0134 R15: ffff8880982f0132
FS:  00007f45d3bce700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed10184a61b2 CR3: 000000004c0a7000 CR4: 00000000001406e0
Call Trace:
 <IRQ>
 br_nf_dev_queue_xmit+0xc49/0x14c0 net/bridge/br_netfilter_hooks.c:766
 NF_HOOK include/linux/netfilter.h:289 [inline]
 NF_HOOK include/linux/netfilter.h:283 [inline]
 br_nf_post_routing+0x7aa/0x1250 net/bridge/br_netfilter_hooks.c:818
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0xbf/0x1f0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 br_forward_finish+0x215/0x400 net/bridge/br_forward.c:69
 br_nf_hook_thresh+0x2ec/0x380 net/bridge/br_netfilter_hooks.c:1006
 br_nf_forward_finish+0x2eb/0x690 net/bridge/br_netfilter_hooks.c:540
 NF_HOOK include/linux/netfilter.h:289 [inline]
 NF_HOOK include/linux/netfilter.h:283 [inline]
 br_nf_forward_ip net/bridge/br_netfilter_hooks.c:608 [inline]
 br_nf_forward_ip+0x877/0x1630 net/bridge/br_netfilter_hooks.c:551
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0xbf/0x1f0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 __br_forward+0x393/0xb00 net/bridge/br_forward.c:113
 deliver_clone+0x61/0xc0 net/bridge/br_forward.c:129
 maybe_deliver net/bridge/br_forward.c:184 [inline]
 maybe_deliver net/bridge/br_forward.c:172 [inline]
 br_flood+0x4da/0x710 net/bridge/br_forward.c:226
 br_handle_frame_finish+0xf4e/0x14c0 net/bridge/br_input.c:169
 br_nf_hook_thresh+0x2ec/0x380 net/bridge/br_netfilter_hooks.c:1006
 br_nf_pre_routing_finish_ipv6+0x700/0xdc0 net/bridge/br_netfilter_ipv6.c:210
 NF_HOOK include/linux/netfilter.h:289 [inline]
 br_nf_pre_routing_ipv6+0x437/0x810 net/bridge/br_netfilter_ipv6.c:240
 br_nf_pre_routing+0xf2e/0x14b0 net/bridge/br_netfilter_hooks.c:482
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0xbf/0x1f0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 br_handle_frame+0x95b/0x1450 net/bridge/br_input.c:305
 __netif_receive_skb_core+0xa96/0x3040 net/core/dev.c:4902
 __netif_receive_skb_one_core+0xa8/0x1a0 net/core/dev.c:4971
 __netif_receive_skb+0x2c/0x1c0 net/core/dev.c:5083
 process_backlog+0x206/0x750 net/core/dev.c:5923
 napi_poll net/core/dev.c:6346 [inline]
 net_rx_action+0x4fa/0x1070 net/core/dev.c:6412
 __do_softirq+0x266/0x95a kernel/softirq.c:293
 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1027
 </IRQ>
 do_softirq.part.0+0x11a/0x170 kernel/softirq.c:338
 do_softirq kernel/softirq.c:330 [inline]
 __local_bh_enable_ip+0x211/0x270 kernel/softirq.c:190
 local_bh_enable include/linux/bottom_half.h:32 [inline]
 rcu_read_unlock_bh include/linux/rcupdate.h:684 [inline]
 ip6_finish_output2+0xbcf/0x2550 net/ipv6/ip6_output.c:121
 ip6_finish_output+0x577/0xc30 net/ipv6/ip6_output.c:154
 NF_HOOK_COND include/linux/netfilter.h:278 [inline]
 ip6_output+0x235/0x7f0 net/ipv6/ip6_output.c:171
 dst_output include/net/dst.h:444 [inline]
 ip6_local_out+0xc4/0x1b0 net/ipv6/output_core.c:176
 ip6_send_skb+0xbb/0x350 net/ipv6/ip6_output.c:1733
 udp_v6_send_skb.isra.0+0x839/0x14f0 net/ipv6/udp.c:1179
 udpv6_sendmsg+0x21e3/0x28d0 net/ipv6/udp.c:1476
 inet_sendmsg+0x147/0x5d0 net/ipv4/af_inet.c:798
 sock_sendmsg_nosec net/socket.c:651 [inline]
 sock_sendmsg+0xdd/0x130 net/socket.c:661
 __sys_sendto+0x262/0x380 net/socket.c:1932
 __do_sys_sendto net/socket.c:1944 [inline]
 __se_sys_sendto net/socket.c:1940 [inline]
 __x64_sys_sendto+0xe1/0x1a0 net/socket.c:1940
 do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x458209
Code: ad b8 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 7b b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f45d3bcdc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 0000000000458209
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 000000000073bf00 R08: 00000000200000c0 R09: 000000000000001c
R10: 0000000024000000 R11: 0000000000000246 R12: 00007f45d3bce6d4
R13: 00000000004c58c4 R14: 00000000004d9850 R15: 00000000ffffffff
Modules linked in:
CR2: ffffed10184a61b2
---[ end trace 1b4a2dda4d31a4ee ]---
RIP: 0010:ip6_fragment+0x17d3/0x3760 net/ipv6/ip6_output.c:830
Code: 48 8b bd 70 ff ff ff 0f b7 c0 48 03 87 c0 00 00 00 48 29 c1 48 89 cf 48 01 f7 48 01 d7 48 89 f8 48 89 fa 48 c1 e8 03 83 e2 07 <42> 0f b6 04 20 38 d0 7f 08 84 c0 0f 85 b2 16 00 00 48 89 d8 c6 07
RSP: 0018:ffff8880ae906cf8 EFLAGS: 00010206
RAX: 1ffff110184a61b2 RBX: ffff888093e2c2b8 RCX: 000000002e704b06
RDX: 0000000000000006 RSI: 0000000000000010 RDI: ffff8880c2530d96
RBP: ffff8880ae906e50 R08: 1ffff110127c5852 R09: ffffed10127c5857
R10: ffff8880982f0274 R11: ffff888093e2c2b7 R12: dffffc0000000000
R13: ffff8880982f0080 R14: ffff8880982f0134 R15: ffff8880982f0132
FS:  00007f45d3bce700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed10184a61b2 CR3: 000000004c0a7000 CR4: 00000000001406e0

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/03/27 23:49 net-old 8c838f53e149 4e668495 .config console log report ci-upstream-net-this-kasan-gce
* Struck through repros no longer work on HEAD.