syzbot


KMSAN: uninit-value in fib_table_lookup (2)

Status: closed as invalid on 2018/09/20 14:13
Subsystems: net
[Documentation on labels]
First crash: 2049d, last: 2049d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: uninit-value in fib_table_lookup net 3 2098d 2100d 0/26 closed as invalid on 2018/09/05 16:42

Sample crash report:
==================================================================
BUG: KMSAN: uninit-value in fib_table_lookup+0x841/0x20a0 net/ipv4/fib_trie.c:1457
CPU: 0 PID: 10112 Comm: udevd Not tainted 4.19.0-rc1+ #42
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x14b/0x190 lib/dump_stack.c:113
 kmsan_report+0x183/0x2b0 mm/kmsan/kmsan.c:956
 __msan_warning+0x70/0xc0 mm/kmsan/kmsan_instr.c:645
 fib_table_lookup+0x841/0x20a0 net/ipv4/fib_trie.c:1457
 fib_lookup include/net/ip_fib.h:330 [inline]
 ip_route_output_key_hash_rcu+0xab1/0x3aa0 net/ipv4/route.c:2438
 ip_route_output_key_hash+0x1d9/0x270 net/ipv4/route.c:2331
 __ip_route_output_key include/net/route.h:124 [inline]
 icmp_route_lookup net/ipv4/icmp.c:512 [inline]
 icmp_send+0x20d0/0x2e50 net/ipv4/icmp.c:714
 ipv4_link_failure+0x5e/0x220 net/ipv4/route.c:1188
 dst_link_failure include/net/dst.h:427 [inline]
 arp_error_report+0x106/0x1a0 net/ipv4/arp.c:297
 neigh_invalidate+0x35b/0x900 net/core/neighbour.c:894
 neigh_timer_handler+0xd6d/0x1280 net/core/neighbour.c:980
 call_timer_fn+0x270/0x5b0 kernel/time/timer.c:1326
 expire_timers kernel/time/timer.c:1363 [inline]
 __run_timers+0xd94/0x11a0 kernel/time/timer.c:1682
 run_timer_softirq+0x2e/0x50 kernel/time/timer.c:1695
 __do_softirq+0x562/0x948 kernel/softirq.c:292
 invoke_softirq kernel/softirq.c:373 [inline]
 irq_exit+0x20a/0x240 kernel/softirq.c:414
 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536
 smp_apic_timer_interrupt+0x64/0x90 arch/x86/kernel/apic/apic.c:1059
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:869
 </IRQ>
RIP: 0010:native_set_pte arch/x86/include/asm/pgtable_64.h:66 [inline]
RIP: 0010:native_set_pte_at arch/x86/include/asm/pgtable.h:1063 [inline]
RIP: 0010:alloc_set_pte+0x89e/0x1fd0 mm/memory.c:3470
Code: 01 00 00 4c 89 ff e8 51 69 15 00 48 8b 8d 38 ff ff ff 48 89 08 48 85 c9 0f 85 51 01 00 00 48 8b 85 30 ff ff ff 49 89 07 31 db <e9> e8 12 00 00 8b 7d d4 e8 25 72 15 00 e9 c2 f7 ff ff 8b 7d d4 e8
RSP: 0000:ffff8801037bfa40 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
RAX: 00000001c5529025 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff880101589010 RSI: aaaaaaaaaaaab000 RDI: ffffea000640db80
RBP: ffff8801037bfb30 R08: 0000000000480020 R09: 0000000000000002
R10: ffffffffffffffff R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000000 R14: ffffea000a9fef60 R15: ffff88010acf4010
 filemap_map_pages+0x126d/0x1a60 mm/filemap.c:2677
 do_fault_around mm/memory.c:3615 [inline]
 do_read_fault mm/memory.c:3649 [inline]
 do_fault mm/memory.c:3754 [inline]
 handle_pte_fault mm/memory.c:3985 [inline]
 __handle_mm_fault mm/memory.c:4109 [inline]
 handle_mm_fault+0x2e5b/0x81b0 mm/memory.c:4146
 __do_page_fault+0xc8b/0x17e0 arch/x86/mm/fault.c:1396
 do_page_fault+0x98/0xd0 arch/x86/mm/fault.c:1473
 page_fault+0x1e/0x30 arch/x86/entry/entry_64.S:1170
RIP: 0033:0x406eab
Code: Bad RIP value.
RSP: 002b:00007ffe8b3c8130 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000b5a250 RCX: 0000000000000001
RDX: 00007f613e28fe40 RSI: 00007f613dcfe240 RDI: 00007f613e28e6c0
RBP: 0000000000625500 R08: 00000000000008d2 R09: 00000000000008d2
R10: 00007f613dcfe240 R11: 00007f613e8d17a0 R12: 0000000000b5f6e0
R13: 00007ffe8b3c9247 R14: 0000000000000005 R15: 0000000000000005

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:256 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:271 [inline]
 kmsan_internal_chain_origin+0x128/0x210 mm/kmsan/kmsan.c:573
 __msan_chain_origin+0x69/0xc0 mm/kmsan/kmsan_instr.c:482
 ip_route_output_key_hash+0x259/0x270 net/ipv4/route.c:2327
 __ip_route_output_key include/net/route.h:124 [inline]
 icmp_route_lookup net/ipv4/icmp.c:512 [inline]
 icmp_send+0x20d0/0x2e50 net/ipv4/icmp.c:714
 ipv4_link_failure+0x5e/0x220 net/ipv4/route.c:1188
 dst_link_failure include/net/dst.h:427 [inline]
 arp_error_report+0x106/0x1a0 net/ipv4/arp.c:297
 neigh_invalidate+0x35b/0x900 net/core/neighbour.c:894
 neigh_timer_handler+0xd6d/0x1280 net/core/neighbour.c:980
 call_timer_fn+0x270/0x5b0 kernel/time/timer.c:1326
 expire_timers kernel/time/timer.c:1363 [inline]
 __run_timers+0xd94/0x11a0 kernel/time/timer.c:1682
 run_timer_softirq+0x2e/0x50 kernel/time/timer.c:1695
 __do_softirq+0x562/0x948 kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:256 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:271 [inline]
 kmsan_internal_chain_origin+0x128/0x210 mm/kmsan/kmsan.c:573
 __msan_chain_origin+0x69/0xc0 mm/kmsan/kmsan_instr.c:482
 _decode_session4+0x927/0x1ce0 net/ipv4/xfrm4_policy.c:219
 __xfrm_decode_session+0x156/0x200 net/xfrm/xfrm_policy.c:2299
 xfrm_decode_session_reverse include/net/xfrm.h:1239 [inline]
 icmp_route_lookup net/ipv4/icmp.c:506 [inline]
 icmp_send+0x1f5e/0x2e50 net/ipv4/icmp.c:714
 ipv4_link_failure+0x5e/0x220 net/ipv4/route.c:1188
 dst_link_failure include/net/dst.h:427 [inline]
 arp_error_report+0x106/0x1a0 net/ipv4/arp.c:297
 neigh_invalidate+0x35b/0x900 net/core/neighbour.c:894
 neigh_timer_handler+0xd6d/0x1280 net/core/neighbour.c:980
 call_timer_fn+0x270/0x5b0 kernel/time/timer.c:1326
 expire_timers kernel/time/timer.c:1363 [inline]
 __run_timers+0xd94/0x11a0 kernel/time/timer.c:1682
 run_timer_softirq+0x2e/0x50 kernel/time/timer.c:1695
 __do_softirq+0x562/0x948 kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:256 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:271 [inline]
 kmsan_internal_chain_origin+0x128/0x210 mm/kmsan/kmsan.c:573
 __msan_chain_origin+0x69/0xc0 mm/kmsan/kmsan_instr.c:482
 iptunnel_xmit+0xa3c/0xd50 net/ipv4/ip_tunnel_core.c:85
 ip_tunnel_xmit+0x33e1/0x3750 net/ipv4/ip_tunnel.c:778
 __gre_xmit net/ipv4/ip_gre.c:449 [inline]
 ipgre_xmit+0xdcf/0xeb0 net/ipv4/ip_gre.c:703
 __netdev_start_xmit include/linux/netdevice.h:4287 [inline]
 netdev_start_xmit include/linux/netdevice.h:4296 [inline]
 xmit_one net/core/dev.c:3217 [inline]
 dev_hard_start_xmit+0x5df/0xc20 net/core/dev.c:3233
 __dev_queue_xmit+0x2f35/0x3ab0 net/core/dev.c:3803
 dev_queue_xmit+0x4b/0x60 net/core/dev.c:3836
 packet_snd net/packet/af_packet.c:2925 [inline]
 packet_sendmsg+0x80ff/0x8c60 net/packet/af_packet.c:2950
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 ___sys_sendmsg+0xe70/0x1290 net/socket.c:2114
 __sys_sendmsg net/socket.c:2152 [inline]
 __do_sys_sendmsg net/socket.c:2161 [inline]
 __se_sys_sendmsg+0x2a3/0x3d0 net/socket.c:2159
 __x64_sys_sendmsg+0x4a/0x70 net/socket.c:2159
 do_syscall_64+0xb8/0x100 arch/x86/entry/common.c:291
 entry_SYSCALL_64_after_hwframe+0x63/0xe7

Uninit was created at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:256 [inline]
 kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:181
 kmsan_kmalloc+0x98/0x100 mm/kmsan/kmsan_hooks.c:91
 kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan_hooks.c:100
 slab_post_alloc_hook mm/slab.h:446 [inline]
 slab_alloc_node mm/slub.c:2719 [inline]
 __kmalloc_node_track_caller+0x9e7/0x1160 mm/slub.c:4352
 __kmalloc_reserve net/core/skbuff.c:138 [inline]
 __alloc_skb+0x2f5/0x9e0 net/core/skbuff.c:206
 alloc_skb include/linux/skbuff.h:996 [inline]
 alloc_skb_with_frags+0x1d0/0xac0 net/core/skbuff.c:5276
 sock_alloc_send_pskb+0xb47/0x1170 net/core/sock.c:2082
 packet_alloc_skb net/packet/af_packet.c:2779 [inline]
 packet_snd net/packet/af_packet.c:2870 [inline]
 packet_sendmsg+0x6599/0x8c60 net/packet/af_packet.c:2950
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 ___sys_sendmsg+0xe70/0x1290 net/socket.c:2114
 __sys_sendmsg net/socket.c:2152 [inline]
 __do_sys_sendmsg net/socket.c:2161 [inline]
 __se_sys_sendmsg+0x2a3/0x3d0 net/socket.c:2159
 __x64_sys_sendmsg+0x4a/0x70 net/socket.c:2159
 do_syscall_64+0xb8/0x100 arch/x86/entry/common.c:291
 entry_SYSCALL_64_after_hwframe+0x63/0xe7
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/09/08 13:29 https://github.com/google/kmsan.git master 42a037ca8d9d 6b5120a4 .config console log report ci-upstream-kmsan-gce
* Struck through repros no longer work on HEAD.