syzbot


KMSAN: uninit-value in get_l4proto

Status: auto-closed as invalid on 2019/05/15 23:27
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 1544d, last: 1544d
similar bugs (1):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: uninit-value in get_l4proto (2) 1 439d 439d 0/24 auto-closed as invalid on 2022/02/23 14:02

Sample crash report:
Local variable description: ----res@__ip_dev_find
Variable was created at:
 __ip_dev_find+0x9a/0x700 net/ipv4/devinet.c:150
 ip_route_output_key_hash_rcu+0x4ac/0x3bb0 net/ipv4/route.c:2382
==================================================================
BUG: KMSAN: uninit-value in __skb_header_pointer include/linux/skbuff.h:3385 [inline]
BUG: KMSAN: uninit-value in skb_header_pointer include/linux/skbuff.h:3398 [inline]
BUG: KMSAN: uninit-value in ipv4_get_l4proto net/netfilter/nf_conntrack_core.c:297 [inline]
BUG: KMSAN: uninit-value in get_l4proto+0x2d1/0x6f0 net/netfilter/nf_conntrack_core.c:353
CPU: 1 PID: 1912 Comm: syz-executor4 Not tainted 4.20.0-rc2+ #88
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+0x32d/0x480 lib/dump_stack.c:113
 kmsan_report+0x19f/0x300 mm/kmsan/kmsan.c:911
 __msan_warning+0x76/0xc0 mm/kmsan/kmsan_instr.c:415
 __skb_header_pointer include/linux/skbuff.h:3385 [inline]
 skb_header_pointer include/linux/skbuff.h:3398 [inline]
 ipv4_get_l4proto net/netfilter/nf_conntrack_core.c:297 [inline]
 get_l4proto+0x2d1/0x6f0 net/netfilter/nf_conntrack_core.c:353
 nf_conntrack_in+0x50e/0x1edd net/netfilter/nf_conntrack_core.c:1546
 ipv4_conntrack_in+0x68/0x80 net/netfilter/nf_conntrack_proto.c:425
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0x15c/0x3d0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 ip_rcv+0x256/0x740 net/ipv4/ip_input.c:524
 __netif_receive_skb_one_core net/core/dev.c:4941 [inline]
 __netif_receive_skb net/core/dev.c:5051 [inline]
 process_backlog+0x82b/0x11e0 net/core/dev.c:5855
 napi_poll net/core/dev.c:6275 [inline]
 net_rx_action+0x98f/0x1d50 net/core/dev.c:6341
 __do_softirq+0x721/0xc7f kernel/softirq.c:292
 do_softirq_own_stack+0x49/0x80 arch/x86/entry/entry_64.S:1031
 </IRQ>
 do_softirq kernel/softirq.c:337 [inline]
 __local_bh_enable_ip+0x228/0x260 kernel/softirq.c:189
 local_bh_enable+0x36/0x40 include/linux/bottom_half.h:32
 rcu_read_unlock_bh include/linux/rcupdate.h:696 [inline]
 ip_finish_output2+0x1430/0x1560 net/ipv4/ip_output.c:231
 ip_do_fragment+0x3686/0x3f10 net/ipv4/ip_output.c:678
 ip_fragment+0x247/0x400 net/ipv4/ip_output.c:561
 ip_finish_output+0x1056/0x10f0 net/ipv4/ip_output.c:315
 NF_HOOK_COND include/linux/netfilter.h:278 [inline]
 ip_output+0x55c/0x630 net/ipv4/ip_output.c:405
 dst_output include/net/dst.h:444 [inline]
 ip_local_out net/ipv4/ip_output.c:124 [inline]
 ip_send_skb+0x178/0x370 net/ipv4/ip_output.c:1441
 udp_send_skb+0x1439/0x1920 net/ipv4/udp.c:829
 udp_push_pending_frames net/ipv4/udp.c:857 [inline]
 udp_sendmsg+0x1496/0x4350 net/ipv4/udp.c:1148
 udpv6_sendmsg+0x123e/0x4960 net/ipv6/udp.c:1203
 inet_sendmsg+0x4e9/0x800 net/ipv4/af_inet.c:798
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 __sys_sendto+0x940/0xb80 net/socket.c:1788
 __do_sys_sendto net/socket.c:1800 [inline]
 __se_sys_sendto+0x107/0x130 net/socket.c:1796
 __x64_sys_sendto+0x6e/0x90 net/socket.c:1796
 do_syscall_64+0xcf/0x110 arch/x86/entry/common.c:291
 entry_SYSCALL_64_after_hwframe+0x63/0xe7
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
RSP: 002b:00007f47345d3c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 0000000000457569
RDX: 0000000000000000 RSI: 0000000020000100 RDI: 0000000000000004
RBP: 000000000072bfa0 R08: 0000000020000140 R09: 000000000000001c
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f47345d46d4
R13: 00000000004c3c1d R14: 00000000004d5e98 R15: 00000000ffffffff

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:252 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:267 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:569
 __msan_chain_origin+0x6d/0xb0 mm/kmsan/kmsan_instr.c:292
 ip_frag_reasm net/ipv4/ip_fragment.c:605 [inline]
 ip_frag_queue net/ipv4/ip_fragment.c:488 [inline]
 ip_defrag+0x5994/0x6840 net/ipv4/ip_fragment.c:688
 nf_ct_ipv4_gather_frags net/ipv4/netfilter/nf_defrag_ipv4.c:34 [inline]
 ipv4_conntrack_defrag+0x608/0x760 net/ipv4/netfilter/nf_defrag_ipv4.c:89
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0x15c/0x3d0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 ip_rcv+0x256/0x740 net/ipv4/ip_input.c:524
 __netif_receive_skb_one_core net/core/dev.c:4941 [inline]
 __netif_receive_skb net/core/dev.c:5051 [inline]
 process_backlog+0x82b/0x11e0 net/core/dev.c:5855
 napi_poll net/core/dev.c:6275 [inline]
 net_rx_action+0x98f/0x1d50 net/core/dev.c:6341
 __do_softirq+0x721/0xc7f kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:252 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:267 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:569
 __msan_chain_origin+0x6d/0xb0 mm/kmsan/kmsan_instr.c:292
 __skb_clone+0x8bc/0xbe0 net/core/skbuff.c:855
 skb_clone+0x5af/0x7b0 net/core/skbuff.c:1288
 ip_frag_reasm net/ipv4/ip_fragment.c:530 [inline]
 ip_frag_queue net/ipv4/ip_fragment.c:488 [inline]
 ip_defrag+0x3511/0x6840 net/ipv4/ip_fragment.c:688
 nf_ct_ipv4_gather_frags net/ipv4/netfilter/nf_defrag_ipv4.c:34 [inline]
 ipv4_conntrack_defrag+0x608/0x760 net/ipv4/netfilter/nf_defrag_ipv4.c:89
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0x15c/0x3d0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 ip_rcv+0x256/0x740 net/ipv4/ip_input.c:524
 __netif_receive_skb_one_core net/core/dev.c:4941 [inline]
 __netif_receive_skb net/core/dev.c:5051 [inline]
 process_backlog+0x82b/0x11e0 net/core/dev.c:5855
 napi_poll net/core/dev.c:6275 [inline]
 net_rx_action+0x98f/0x1d50 net/core/dev.c:6341
 __do_softirq+0x721/0xc7f kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:252 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:267 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:569
 __msan_chain_origin+0x6d/0xb0 mm/kmsan/kmsan_instr.c:292
 __pskb_pull include/linux/skbuff.h:2149 [inline]
 pskb_pull include/linux/skbuff.h:2155 [inline]
 ip_frag_queue net/ipv4/ip_fragment.c:404 [inline]
 ip_defrag+0x21a9/0x6840 net/ipv4/ip_fragment.c:688
 nf_ct_ipv4_gather_frags net/ipv4/netfilter/nf_defrag_ipv4.c:34 [inline]
 ipv4_conntrack_defrag+0x608/0x760 net/ipv4/netfilter/nf_defrag_ipv4.c:89
 nf_hook_entry_hookfn include/linux/netfilter.h:119 [inline]
 nf_hook_slow+0x15c/0x3d0 net/netfilter/core.c:511
 nf_hook include/linux/netfilter.h:244 [inline]
 NF_HOOK include/linux/netfilter.h:287 [inline]
 ip_rcv+0x256/0x740 net/ipv4/ip_input.c:524
 __netif_receive_skb_one_core net/core/dev.c:4941 [inline]
 __netif_receive_skb net/core/dev.c:5051 [inline]
 process_backlog+0x82b/0x11e0 net/core/dev.c:5855
 napi_poll net/core/dev.c:6275 [inline]
 net_rx_action+0x98f/0x1d50 net/core/dev.c:6341
 __do_softirq+0x721/0xc7f kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:252 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:267 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:569
 __msan_chain_origin+0x6d/0xb0 mm/kmsan/kmsan_instr.c:292
 __skb_pull include/linux/skbuff.h:2134 [inline]
 skb_pull_inline include/linux/skbuff.h:2139 [inline]
 eth_type_trans+0x610/0x9d0 net/ethernet/eth.c:166
 ip_tunnel_rcv+0x1105/0x1c10 net/ipv4/ip_tunnel.c:429
 erspan_rcv net/ipv4/ip_gre.c:328 [inline]
 gre_rcv+0x14d2/0x1900 net/ipv4/ip_gre.c:422
 gre_rcv+0x2e6/0x3c0 net/ipv4/gre_demux.c:143
 ip_local_deliver_finish+0x8d8/0xff0 net/ipv4/ip_input.c:215
 NF_HOOK include/linux/netfilter.h:289 [inline]
 ip_local_deliver+0x44b/0x510 net/ipv4/ip_input.c:256
 dst_input include/net/dst.h:450 [inline]
 ip_rcv_finish net/ipv4/ip_input.c:415 [inline]
 NF_HOOK include/linux/netfilter.h:289 [inline]
 ip_rcv+0x6b6/0x740 net/ipv4/ip_input.c:524
 __netif_receive_skb_one_core net/core/dev.c:4941 [inline]
 __netif_receive_skb net/core/dev.c:5051 [inline]
 process_backlog+0x82b/0x11e0 net/core/dev.c:5855
 napi_poll net/core/dev.c:6275 [inline]
 net_rx_action+0x98f/0x1d50 net/core/dev.c:6341
 __do_softirq+0x721/0xc7f kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:252 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:267 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:569
 __msan_chain_origin+0x6d/0xb0 mm/kmsan/kmsan_instr.c:292
 __skb_pull include/linux/skbuff.h:2134 [inline]
 skb_pull_rcsum+0x3d1/0x530 net/core/skbuff.c:3424
 __iptunnel_pull_header+0x18c/0xcb0 net/ipv4/ip_tunnel_core.c:104
 erspan_rcv net/ipv4/ip_gre.c:295 [inline]
 gre_rcv+0x7c2/0x1900 net/ipv4/ip_gre.c:422
 gre_rcv+0x2e6/0x3c0 net/ipv4/gre_demux.c:143
 ip_local_deliver_finish+0x8d8/0xff0 net/ipv4/ip_input.c:215
 NF_HOOK include/linux/netfilter.h:289 [inline]
 ip_local_deliver+0x44b/0x510 net/ipv4/ip_input.c:256
 dst_input include/net/dst.h:450 [inline]
 ip_rcv_finish net/ipv4/ip_input.c:415 [inline]
 NF_HOOK include/linux/netfilter.h:289 [inline]
 ip_rcv+0x6b6/0x740 net/ipv4/ip_input.c:524
 __netif_receive_skb_one_core net/core/dev.c:4941 [inline]
 __netif_receive_skb net/core/dev.c:5051 [inline]
 process_backlog+0x82b/0x11e0 net/core/dev.c:5855
 napi_poll net/core/dev.c:6275 [inline]
 net_rx_action+0x98f/0x1d50 net/core/dev.c:6341
 __do_softirq+0x721/0xc7f kernel/softirq.c:292

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:252 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:267 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:569
 kmsan_memcpy_origins+0x13d/0x190 mm/kmsan/kmsan.c:393
 __msan_memcpy+0x6f/0x80 mm/kmsan/kmsan_instr.c:242
 pskb_expand_head+0x436/0x1d20 net/core/skbuff.c:1470
 __skb_cow include/linux/skbuff.h:2948 [inline]
 skb_cow_head include/linux/skbuff.h:2982 [inline]
 ip_tunnel_xmit+0x35a3/0x3d90 net/ipv4/ip_tunnel.c:780
 __gre_xmit net/ipv4/ip_gre.c:451 [inline]
 erspan_xmit+0x1bce/0x35d0 net/ipv4/ip_gre.c:749
 __netdev_start_xmit include/linux/netdevice.h:4356 [inline]
 netdev_start_xmit include/linux/netdevice.h:4365 [inline]
 xmit_one net/core/dev.c:3252 [inline]
 dev_hard_start_xmit+0x6dc/0xde0 net/core/dev.c:3268
 sch_direct_xmit+0x59b/0x890 net/sched/sch_generic.c:327
 qdisc_restart net/sched/sch_generic.c:390 [inline]
 __qdisc_run+0x1bac/0x3600 net/sched/sch_generic.c:398
 qdisc_run include/net/pkt_sched.h:121 [inline]
 __dev_xmit_skb net/core/dev.c:3447 [inline]
 __dev_queue_xmit+0x2131/0x3e00 net/core/dev.c:3806
 dev_queue_xmit+0x4b/0x60 net/core/dev.c:3871
 neigh_hh_output include/net/neighbour.h:474 [inline]
 neigh_output include/net/neighbour.h:482 [inline]
 ip_finish_output2+0x136d/0x1560 net/ipv4/ip_output.c:229
 ip_do_fragment+0x3686/0x3f10 net/ipv4/ip_output.c:678
 ip_fragment+0x247/0x400 net/ipv4/ip_output.c:561
 ip_finish_output+0x1056/0x10f0 net/ipv4/ip_output.c:315
 NF_HOOK_COND include/linux/netfilter.h:278 [inline]
 ip_output+0x55c/0x630 net/ipv4/ip_output.c:405
 dst_output include/net/dst.h:444 [inline]
 ip_local_out net/ipv4/ip_output.c:124 [inline]
 ip_send_skb+0x178/0x370 net/ipv4/ip_output.c:1441
 udp_send_skb+0x1439/0x1920 net/ipv4/udp.c:829
 udp_push_pending_frames net/ipv4/udp.c:857 [inline]
 udp_sendmsg+0x1496/0x4350 net/ipv4/udp.c:1148
 udpv6_sendmsg+0x123e/0x4960 net/ipv6/udp.c:1203
 inet_sendmsg+0x4e9/0x800 net/ipv4/af_inet.c:798
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 __sys_sendto+0x940/0xb80 net/socket.c:1788
 __do_sys_sendto net/socket.c:1800 [inline]
 __se_sys_sendto+0x107/0x130 net/socket.c:1796
 __x64_sys_sendto+0x6e/0x90 net/socket.c:1796
 do_syscall_64+0xcf/0x110 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:252 [inline]
 kmsan_internal_poison_shadow+0xc8/0x1c0 mm/kmsan/kmsan.c:177
 kmsan_kmalloc+0x98/0xf0 mm/kmsan/kmsan_hooks.c:104
 kmsan_slab_alloc+0xe/0x10 mm/kmsan/kmsan_hooks.c:113
 slab_post_alloc_hook mm/slab.h:446 [inline]
 slab_alloc_node mm/slub.c:2765 [inline]
 __kmalloc_node_track_caller+0xf62/0x14e0 mm/slub.c:4396
 __kmalloc_reserve net/core/skbuff.c:138 [inline]
 __alloc_skb+0x42b/0xeb0 net/core/skbuff.c:206
 alloc_skb include/linux/skbuff.h:998 [inline]
 __ip_append_data+0x2e00/0x4460 net/ipv4/ip_output.c:988
 ip_append_data+0x30c/0x450 net/ipv4/ip_output.c:1196
 udp_sendmsg+0x74e/0x4350 net/ipv4/udp.c:1142
 udpv6_sendmsg+0x123e/0x4960 net/ipv6/udp.c:1203
 inet_sendmsg+0x4e9/0x800 net/ipv4/af_inet.c:798
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 __sys_sendto+0x940/0xb80 net/socket.c:1788
 __do_sys_sendto net/socket.c:1800 [inline]
 __se_sys_sendto+0x107/0x130 net/socket.c:1796
 __x64_sys_sendto+0x6e/0x90 net/socket.c:1796
 do_syscall_64+0xcf/0x110 arch/x86/entry/common.c:291
 entry_SYSCALL_64_after_hwframe+0x63/0xe7
==================================================================

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets Title
ci-upstream-kmsan-gce 2018/11/16 23:25 https://github.com/google/kmsan.git master cddc52641fd2 b08ee62a .config console log report
* Struck through repros no longer work on HEAD.