syzbot


KMSAN: uninit-value in iptable_mangle_hook (3)

Status: auto-closed as invalid on 2019/05/20 19:01
Subsystems: netfilter
[Documentation on labels]
Reported-by: syzbot+60f2e2b690c5cf94e35d@syzkaller.appspotmail.com
First crash: 2334d, last: 2212d
Discussions (1)
Title Replies (including bot) Last reply
KMSAN: uninit-value in iptable_mangle_hook (3) 0 (1) 2018/07/27 13:12
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: uninit-value in iptable_mangle_hook (5) netfilter 51 1245d 1366d 0/28 auto-closed as invalid on 2021/11/12 20:56
upstream KMSAN: uninit-value in iptable_mangle_hook netfilter C 1134 2409d 2440d 5/28 fixed on 2018/05/08 18:30
upstream KMSAN: uninit-value in iptable_mangle_hook (4) netfilter syz 128 1376d 1831d 0/28 closed as invalid on 2021/03/12 07:36
upstream KMSAN: kernel-infoleak in _copy_to_iter (7) net C 138977 656d 1009d 22/28 fixed on 2023/02/24 13:50

Sample crash report:
==================================================================
BUG: KMSAN: uninit-value in ipt_mangle_out net/ipv4/netfilter/iptable_mangle.c:64 [inline]
BUG: KMSAN: uninit-value in iptable_mangle_hook+0x581/0x730 net/ipv4/netfilter/iptable_mangle.c:84
CPU: 1 PID: 17202 Comm: syz-executor5 Not tainted 4.20.0-rc3+ #92
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __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:923
 __msan_warning+0x76/0xc0 mm/kmsan/kmsan_instr.c:416
 ipt_mangle_out net/ipv4/netfilter/iptable_mangle.c:64 [inline]
 iptable_mangle_hook+0x581/0x730 net/ipv4/netfilter/iptable_mangle.c:84
binder: send failed reply for transaction 47, target dead
 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]
 __ip_local_out+0x6dc/0x800 net/ipv4/ip_output.c:113
 ip_local_out+0xa4/0x1d0 net/ipv4/ip_output.c:122
 iptunnel_xmit+0x812/0xd30 net/ipv4/ip_tunnel_core.c:91
 ip_tunnel_xmit+0x3943/0x3d90 net/ipv4/ip_tunnel.c:787
 __gre_xmit net/ipv4/ip_gre.c:451 [inline]
 gre_tap_xmit+0x829/0x910 net/ipv4/ip_gre.c:774
 __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_resolve_output+0xab7/0xb50 net/core/neighbour.c:1382
 neigh_output include/net/neighbour.h:484 [inline]
 ip_finish_output2+0x141a/0x1560 net/ipv4/ip_output.c:229
 ip_finish_output+0xd93/0x10f0 net/ipv4/ip_output.c:317
 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+0x164/0x1d0 net/ipv4/ip_output.c:124
 iptunnel_xmit+0x812/0xd30 net/ipv4/ip_tunnel_core.c:91
 ip_tunnel_xmit+0x3943/0x3d90 net/ipv4/ip_tunnel.c:787
 __gre_xmit net/ipv4/ip_gre.c:451 [inline]
 ipgre_xmit+0xef7/0x1000 net/ipv4/ip_gre.c:705
 __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
 __dev_queue_xmit+0x2d9e/0x3e00 net/core/dev.c:3838
 dev_queue_xmit+0x4b/0x60 net/core/dev.c:3871
 packet_snd net/packet/af_packet.c:2928 [inline]
 packet_sendmsg+0x797f/0x9180 net/packet/af_packet.c:2953
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 ___sys_sendmsg+0xe3b/0x1240 net/socket.c:2116
 __sys_sendmsg net/socket.c:2154 [inline]
 __do_sys_sendmsg net/socket.c:2163 [inline]
 __se_sys_sendmsg+0x305/0x460 net/socket.c:2161
 __x64_sys_sendmsg+0x4a/0x70 net/socket.c:2161
 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:00007fbfd83a5c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000457569
RDX: 0000000000000000 RSI: 0000000020000200 RDI: 0000000000000005
RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fbfd83a66d4
R13: 00000000004c3f7d R14: 00000000004d6778 R15: 00000000ffffffff

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:258 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:273 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:581
 __msan_chain_origin+0x6d/0xb0 mm/kmsan/kmsan_instr.c:292
 ip_send_check net/ipv4/ip_output.c:93 [inline]
 __ip_local_out+0x469/0x800 net/ipv4/ip_output.c:102
 ip_local_out+0xa4/0x1d0 net/ipv4/ip_output.c:122
 iptunnel_xmit+0x812/0xd30 net/ipv4/ip_tunnel_core.c:91
 ip_tunnel_xmit+0x3943/0x3d90 net/ipv4/ip_tunnel.c:787
 __gre_xmit net/ipv4/ip_gre.c:451 [inline]
 gre_tap_xmit+0x829/0x910 net/ipv4/ip_gre.c:774
 __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_resolve_output+0xab7/0xb50 net/core/neighbour.c:1382
 neigh_output include/net/neighbour.h:484 [inline]
 ip_finish_output2+0x141a/0x1560 net/ipv4/ip_output.c:229
 ip_finish_output+0xd93/0x10f0 net/ipv4/ip_output.c:317
 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+0x164/0x1d0 net/ipv4/ip_output.c:124
 iptunnel_xmit+0x812/0xd30 net/ipv4/ip_tunnel_core.c:91
 ip_tunnel_xmit+0x3943/0x3d90 net/ipv4/ip_tunnel.c:787
 __gre_xmit net/ipv4/ip_gre.c:451 [inline]
 ipgre_xmit+0xef7/0x1000 net/ipv4/ip_gre.c:705
 __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
 __dev_queue_xmit+0x2d9e/0x3e00 net/core/dev.c:3838
 dev_queue_xmit+0x4b/0x60 net/core/dev.c:3871
 packet_snd net/packet/af_packet.c:2928 [inline]
 packet_sendmsg+0x797f/0x9180 net/packet/af_packet.c:2953
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 ___sys_sendmsg+0xe3b/0x1240 net/socket.c:2116
 __sys_sendmsg net/socket.c:2154 [inline]
 __do_sys_sendmsg net/socket.c:2163 [inline]
 __se_sys_sendmsg+0x305/0x460 net/socket.c:2161
 __x64_sys_sendmsg+0x4a/0x70 net/socket.c:2161
 do_syscall_64+0xcf/0x110 arch/x86/entry/common.c:291
 entry_SYSCALL_64_after_hwframe+0x63/0xe7

Uninit was stored to memory at:
 kmsan_save_stack_with_flags mm/kmsan/kmsan.c:258 [inline]
 kmsan_save_stack mm/kmsan/kmsan.c:273 [inline]
 kmsan_internal_chain_origin+0x136/0x240 mm/kmsan/kmsan.c:581
 kmsan_memcpy_origins+0x13d/0x190 mm/kmsan/kmsan.c:405
 __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]
 ipgre_xmit+0xef7/0x1000 net/ipv4/ip_gre.c:705
 __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
 __dev_queue_xmit+0x2d9e/0x3e00 net/core/dev.c:3838
 dev_queue_xmit+0x4b/0x60 net/core/dev.c:3871
 packet_snd net/packet/af_packet.c:2928 [inline]
 packet_sendmsg+0x797f/0x9180 net/packet/af_packet.c:2953
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 ___sys_sendmsg+0xe3b/0x1240 net/socket.c:2116
 __sys_sendmsg net/socket.c:2154 [inline]
 __do_sys_sendmsg net/socket.c:2163 [inline]
 __se_sys_sendmsg+0x305/0x460 net/socket.c:2161
 __x64_sys_sendmsg+0x4a/0x70 net/socket.c:2161
 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:258 [inline]
 kmsan_internal_poison_shadow+0x68/0x130 mm/kmsan/kmsan.c:181
 kmsan_kmalloc+0xa1/0x100 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]
 alloc_skb_with_frags+0x1c9/0xa80 net/core/skbuff.c:5220
 sock_alloc_send_pskb+0xeb3/0x14c0 net/core/sock.c:2083
 packet_alloc_skb net/packet/af_packet.c:2781 [inline]
 packet_snd net/packet/af_packet.c:2872 [inline]
 packet_sendmsg+0x6719/0x9180 net/packet/af_packet.c:2953
 sock_sendmsg_nosec net/socket.c:621 [inline]
 sock_sendmsg net/socket.c:631 [inline]
 ___sys_sendmsg+0xe3b/0x1240 net/socket.c:2116
 __sys_sendmsg net/socket.c:2154 [inline]
 __do_sys_sendmsg net/socket.c:2163 [inline]
 __se_sys_sendmsg+0x305/0x460 net/socket.c:2161
 __x64_sys_sendmsg+0x4a/0x70 net/socket.c:2161
 do_syscall_64+0xcf/0x110 arch/x86/entry/common.c:291
 entry_SYSCALL_64_after_hwframe+0x63/0xe7
==================================================================

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/11/21 19:00 https://github.com/google/kmsan.git master 3ededcaa1606 9db828b5 .config console log report ci-upstream-kmsan-gce
2018/10/05 21:31 https://github.com/google/kmsan.git master b2efdb2ef006 8b311eaf .config console log report ci-upstream-kmsan-gce
2018/10/01 15:10 https://github.com/google/kmsan.git master 2b752aff835d 48a50c6b .config console log report ci-upstream-kmsan-gce
2018/09/29 08:09 https://github.com/google/kmsan.git master 2b752aff835d 41e4b329 .config console log report ci-upstream-kmsan-gce
2018/07/22 16:31 https://github.com/google/kmsan.git master d1c2a46a46f6 8cc079c3 .config console log report ci-upstream-kmsan-gce
* Struck through repros no longer work on HEAD.