===================================================== BUG: KMSAN: uninit-value in nf_ip_checksum+0x758/0x770 net/netfilter/utils.c:21 CPU: 0 PID: 9 Comm: ksoftirqd/0 Not tainted 5.4.0-rc8-syzkaller #0 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+0x1c9/0x220 lib/dump_stack.c:118 kmsan_report+0x128/0x220 mm/kmsan/kmsan_report.c:108 __msan_warning+0x64/0xc0 mm/kmsan/kmsan_instr.c:245 nf_ip_checksum+0x758/0x770 net/netfilter/utils.c:21 nf_nat_icmp_reply_translation+0x2ba/0x970 net/netfilter/nf_nat_proto.c:567 nf_nat_ipv4_fn net/netfilter/nf_nat_proto.c:626 [inline] nf_nat_ipv4_in+0x2a7/0x580 net/netfilter/nf_nat_proto.c:644 nf_hook_entry_hookfn include/linux/netfilter.h:135 [inline] nf_hook_slow+0x18b/0x3f0 net/netfilter/core.c:512 nf_hook include/linux/netfilter.h:260 [inline] NF_HOOK include/linux/netfilter.h:303 [inline] ip_rcv+0x259/0x740 net/ipv4/ip_input.c:523 __netif_receive_skb_one_core net/core/dev.c:4929 [inline] __netif_receive_skb net/core/dev.c:5043 [inline] process_backlog+0xece/0x13c0 net/core/dev.c:5874 napi_poll net/core/dev.c:6311 [inline] net_rx_action+0x7a6/0x1aa0 net/core/dev.c:6379 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 run_ksoftirqd+0x25/0x40 kernel/softirq.c:607 smpboot_thread_fn+0x4a3/0x990 kernel/smpboot.c:165 kthread+0x4b5/0x4f0 kernel/kthread.c:256 ret_from_fork+0x35/0x40 arch/x86/entry/entry_64.S:353 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:149 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:317 __msan_chain_origin+0x5c/0xc0 mm/kmsan/kmsan_instr.c:179 __skb_checksum_complete+0x419/0x530 net/core/skbuff.c:2859 nf_ip_checksum+0x567/0x770 net/netfilter/utils.c:36 nf_nat_icmp_reply_translation+0x2ba/0x970 net/netfilter/nf_nat_proto.c:567 nf_nat_ipv4_fn net/netfilter/nf_nat_proto.c:626 [inline] nf_nat_ipv4_local_fn+0x215/0x840 net/netfilter/nf_nat_proto.c:697 nf_hook_entry_hookfn include/linux/netfilter.h:135 [inline] nf_hook_slow+0x18b/0x3f0 net/netfilter/core.c:512 nf_hook include/linux/netfilter.h:260 [inline] __ip_local_out+0x69b/0x800 net/ipv4/ip_output.c:114 ip_local_out net/ipv4/ip_output.c:123 [inline] ip_send_skb net/ipv4/ip_output.c:1559 [inline] ip_push_pending_frames+0x16f/0x460 net/ipv4/ip_output.c:1579 icmp_push_reply+0x692/0x750 net/ipv4/icmp.c:389 __icmp_send+0x2313/0x3080 net/ipv4/icmp.c:738 ipv4_send_dest_unreach net/ipv4/route.c:1220 [inline] ipv4_link_failure+0x73c/0xaf0 net/ipv4/route.c:1227 dst_link_failure include/net/dst.h:419 [inline] arp_error_report+0x106/0x1a0 net/ipv4/arp.c:293 neigh_invalidate+0x362/0x8f0 net/core/neighbour.c:996 neigh_timer_handler+0xda4/0x1450 net/core/neighbour.c:1082 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1138 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:835 metadata_is_contiguous+0xa/0x270 mm/kmsan/kmsan.c:480 kmsan_get_shadow_origin_ptr+0x6e/0x4d0 mm/kmsan/kmsan_shadow.c:172 __msan_metadata_ptr_for_store_4+0x13/0x20 mm/kmsan/kmsan_instr.c:54 zap_pte_range mm/memory.c:1062 [inline] zap_pmd_range mm/memory.c:1167 [inline] zap_pud_range mm/memory.c:1196 [inline] zap_p4d_range mm/memory.c:1217 [inline] unmap_page_range+0x1dec/0x3ac0 mm/memory.c:1238 unmap_single_vma+0x43f/0x5e0 mm/memory.c:1283 unmap_vmas+0x391/0x4b0 mm/memory.c:1315 exit_mmap+0x50e/0xa00 mm/mmap.c:3161 __mmput+0x148/0x590 kernel/fork.c:1081 mmput+0x83/0x90 kernel/fork.c:1102 exit_mm+0x6b7/0x770 kernel/exit.c:486 do_exit+0xae4/0x3a70 kernel/exit.c:806 do_group_exit+0x18a/0x320 kernel/exit.c:923 get_signal+0xbf6/0x32f0 kernel/signal.c:2734 do_signal+0x6f/0xe10 arch/x86/kernel/signal.c:815 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline] prepare_exit_to_usermode+0x2c5/0x4d0 arch/x86/entry/common.c:194 syscall_return_slowpath+0x90/0x610 arch/x86/entry/common.c:274 do_syscall_64+0xdc/0x160 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:149 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:317 kmsan_memcpy_memmove_metadata+0x25c/0x2e0 mm/kmsan/kmsan.c:252 kmsan_memcpy_metadata+0xb/0x10 mm/kmsan/kmsan.c:272 __msan_memcpy+0x56/0x70 mm/kmsan/kmsan_instr.c:129 csum_partial_copy+0xae/0x100 lib/checksum.c:174 skb_copy_and_csum_bits+0x205/0x10b0 net/core/skbuff.c:2738 icmp_glue_bits+0x16b/0x380 net/ipv4/icmp.c:352 __ip_append_data+0x435f/0x5290 net/ipv4/ip_output.c:1133 ip_append_data+0x328/0x480 net/ipv4/ip_output.c:1314 icmp_push_reply+0x210/0x750 net/ipv4/icmp.c:370 __icmp_send+0x2313/0x3080 net/ipv4/icmp.c:738 ipv4_send_dest_unreach net/ipv4/route.c:1220 [inline] ipv4_link_failure+0x73c/0xaf0 net/ipv4/route.c:1227 dst_link_failure include/net/dst.h:419 [inline] arp_error_report+0x106/0x1a0 net/ipv4/arp.c:293 neigh_invalidate+0x362/0x8f0 net/core/neighbour.c:996 neigh_timer_handler+0xda4/0x1450 net/core/neighbour.c:1082 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1138 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:835 metadata_is_contiguous+0xa/0x270 mm/kmsan/kmsan.c:480 kmsan_get_shadow_origin_ptr+0x6e/0x4d0 mm/kmsan/kmsan_shadow.c:172 __msan_metadata_ptr_for_store_4+0x13/0x20 mm/kmsan/kmsan_instr.c:54 zap_pte_range mm/memory.c:1062 [inline] zap_pmd_range mm/memory.c:1167 [inline] zap_pud_range mm/memory.c:1196 [inline] zap_p4d_range mm/memory.c:1217 [inline] unmap_page_range+0x1dec/0x3ac0 mm/memory.c:1238 unmap_single_vma+0x43f/0x5e0 mm/memory.c:1283 unmap_vmas+0x391/0x4b0 mm/memory.c:1315 exit_mmap+0x50e/0xa00 mm/mmap.c:3161 __mmput+0x148/0x590 kernel/fork.c:1081 mmput+0x83/0x90 kernel/fork.c:1102 exit_mm+0x6b7/0x770 kernel/exit.c:486 do_exit+0xae4/0x3a70 kernel/exit.c:806 do_group_exit+0x18a/0x320 kernel/exit.c:923 get_signal+0xbf6/0x32f0 kernel/signal.c:2734 do_signal+0x6f/0xe10 arch/x86/kernel/signal.c:815 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline] prepare_exit_to_usermode+0x2c5/0x4d0 arch/x86/entry/common.c:194 syscall_return_slowpath+0x90/0x610 arch/x86/entry/common.c:274 do_syscall_64+0xdc/0x160 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:149 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:317 kmsan_memcpy_memmove_metadata+0x25c/0x2e0 mm/kmsan/kmsan.c:252 kmsan_memcpy_metadata+0xb/0x10 mm/kmsan/kmsan.c:272 __msan_memcpy+0x56/0x70 mm/kmsan/kmsan_instr.c:129 skb_put_data include/linux/skbuff.h:2233 [inline] sctp_packet_pack net/sctp/output.c:470 [inline] sctp_packet_transmit+0x1d9e/0x4250 net/sctp/output.c:597 sctp_outq_flush_transports net/sctp/outqueue.c:1146 [inline] sctp_outq_flush+0x1823/0x5d80 net/sctp/outqueue.c:1194 sctp_outq_uncork+0xd0/0xf0 net/sctp/outqueue.c:757 sctp_cmd_interpreter net/sctp/sm_sideeffect.c:1781 [inline] sctp_side_effects net/sctp/sm_sideeffect.c:1184 [inline] sctp_do_sm+0x8fe1/0x9720 net/sctp/sm_sideeffect.c:1155 sctp_generate_heartbeat_event+0x3c6/0x5a0 net/sctp/sm_sideeffect.c:391 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1138 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:835 kmsan_get_shadow_origin_ptr+0x52/0x4d0 mm/kmsan/kmsan_shadow.c:222 __msan_metadata_ptr_for_load_8+0x10/0x20 mm/kmsan/kmsan_instr.c:55 native_local_ptep_get_and_clear arch/x86/include/asm/pgtable.h:1056 [inline] ptep_get_and_clear_full arch/x86/include/asm/pgtable.h:1138 [inline] zap_pte_range mm/memory.c:1047 [inline] zap_pmd_range mm/memory.c:1167 [inline] zap_pud_range mm/memory.c:1196 [inline] zap_p4d_range mm/memory.c:1217 [inline] unmap_page_range+0x1886/0x3ac0 mm/memory.c:1238 unmap_single_vma+0x43f/0x5e0 mm/memory.c:1283 unmap_vmas+0x391/0x4b0 mm/memory.c:1315 exit_mmap+0x50e/0xa00 mm/mmap.c:3161 __mmput+0x148/0x590 kernel/fork.c:1081 mmput+0x83/0x90 kernel/fork.c:1102 exit_mm+0x6b7/0x770 kernel/exit.c:486 do_exit+0xae4/0x3a70 kernel/exit.c:806 do_group_exit+0x18a/0x320 kernel/exit.c:923 get_signal+0xbf6/0x32f0 kernel/signal.c:2734 do_signal+0x6f/0xe10 arch/x86/kernel/signal.c:815 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline] prepare_exit_to_usermode+0x2c5/0x4d0 arch/x86/entry/common.c:194 syscall_return_slowpath+0x90/0x610 arch/x86/entry/common.c:274 do_syscall_64+0xdc/0x160 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:149 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:317 kmsan_memcpy_memmove_metadata+0x25c/0x2e0 mm/kmsan/kmsan.c:252 kmsan_memcpy_metadata+0xb/0x10 mm/kmsan/kmsan.c:272 __msan_memcpy+0x56/0x70 mm/kmsan/kmsan_instr.c:129 skb_put_data include/linux/skbuff.h:2233 [inline] sctp_addto_chunk net/sctp/sm_make_chunk.c:1494 [inline] sctp_make_heartbeat+0x612/0x9e0 net/sctp/sm_make_chunk.c:1164 sctp_sf_heartbeat net/sctp/sm_statefuns.c:990 [inline] sctp_sf_sendbeat_8_3+0x18d/0xb10 net/sctp/sm_statefuns.c:1034 sctp_do_sm+0x2b2/0x9720 net/sctp/sm_sideeffect.c:1152 sctp_generate_heartbeat_event+0x3c6/0x5a0 net/sctp/sm_sideeffect.c:391 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1138 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:835 kmsan_get_shadow_origin_ptr+0x52/0x4d0 mm/kmsan/kmsan_shadow.c:222 __msan_metadata_ptr_for_load_8+0x10/0x20 mm/kmsan/kmsan_instr.c:55 native_local_ptep_get_and_clear arch/x86/include/asm/pgtable.h:1056 [inline] ptep_get_and_clear_full arch/x86/include/asm/pgtable.h:1138 [inline] zap_pte_range mm/memory.c:1047 [inline] zap_pmd_range mm/memory.c:1167 [inline] zap_pud_range mm/memory.c:1196 [inline] zap_p4d_range mm/memory.c:1217 [inline] unmap_page_range+0x1886/0x3ac0 mm/memory.c:1238 unmap_single_vma+0x43f/0x5e0 mm/memory.c:1283 unmap_vmas+0x391/0x4b0 mm/memory.c:1315 exit_mmap+0x50e/0xa00 mm/mmap.c:3161 __mmput+0x148/0x590 kernel/fork.c:1081 mmput+0x83/0x90 kernel/fork.c:1102 exit_mm+0x6b7/0x770 kernel/exit.c:486 do_exit+0xae4/0x3a70 kernel/exit.c:806 do_group_exit+0x18a/0x320 kernel/exit.c:923 get_signal+0xbf6/0x32f0 kernel/signal.c:2734 do_signal+0x6f/0xe10 arch/x86/kernel/signal.c:815 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline] prepare_exit_to_usermode+0x2c5/0x4d0 arch/x86/entry/common.c:194 syscall_return_slowpath+0x90/0x610 arch/x86/entry/common.c:274 do_syscall_64+0xdc/0x160 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:149 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:317 kmsan_memcpy_memmove_metadata+0x25c/0x2e0 mm/kmsan/kmsan.c:252 kmsan_memcpy_metadata+0xb/0x10 mm/kmsan/kmsan.c:272 __msan_memcpy+0x56/0x70 mm/kmsan/kmsan_instr.c:129 sctp_make_heartbeat+0x3e9/0x9e0 net/sctp/sm_make_chunk.c:1156 sctp_sf_heartbeat net/sctp/sm_statefuns.c:990 [inline] sctp_sf_sendbeat_8_3+0x18d/0xb10 net/sctp/sm_statefuns.c:1034 sctp_do_sm+0x2b2/0x9720 net/sctp/sm_sideeffect.c:1152 sctp_generate_heartbeat_event+0x3c6/0x5a0 net/sctp/sm_sideeffect.c:391 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1138 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:835 kmsan_get_shadow_origin_ptr+0x52/0x4d0 mm/kmsan/kmsan_shadow.c:222 __msan_metadata_ptr_for_load_8+0x10/0x20 mm/kmsan/kmsan_instr.c:55 native_local_ptep_get_and_clear arch/x86/include/asm/pgtable.h:1056 [inline] ptep_get_and_clear_full arch/x86/include/asm/pgtable.h:1138 [inline] zap_pte_range mm/memory.c:1047 [inline] zap_pmd_range mm/memory.c:1167 [inline] zap_pud_range mm/memory.c:1196 [inline] zap_p4d_range mm/memory.c:1217 [inline] unmap_page_range+0x1886/0x3ac0 mm/memory.c:1238 unmap_single_vma+0x43f/0x5e0 mm/memory.c:1283 unmap_vmas+0x391/0x4b0 mm/memory.c:1315 exit_mmap+0x50e/0xa00 mm/mmap.c:3161 __mmput+0x148/0x590 kernel/fork.c:1081 mmput+0x83/0x90 kernel/fork.c:1102 exit_mm+0x6b7/0x770 kernel/exit.c:486 do_exit+0xae4/0x3a70 kernel/exit.c:806 do_group_exit+0x18a/0x320 kernel/exit.c:923 get_signal+0xbf6/0x32f0 kernel/signal.c:2734 do_signal+0x6f/0xe10 arch/x86/kernel/signal.c:815 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline] prepare_exit_to_usermode+0x2c5/0x4d0 arch/x86/entry/common.c:194 syscall_return_slowpath+0x90/0x610 arch/x86/entry/common.c:274 do_syscall_64+0xdc/0x160 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:149 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:317 kmsan_memcpy_memmove_metadata+0x25c/0x2e0 mm/kmsan/kmsan.c:252 kmsan_memcpy_metadata+0xb/0x10 mm/kmsan/kmsan.c:272 __msan_memcpy+0x56/0x70 mm/kmsan/kmsan_instr.c:129 sctp_transport_init net/sctp/transport.c:47 [inline] sctp_transport_new+0x248/0xa00 net/sctp/transport.c:100 sctp_assoc_add_peer+0x5ba/0x2030 net/sctp/associola.c:611 sctp_process_param net/sctp/sm_make_chunk.c:2524 [inline] sctp_process_init+0x162b/0x3e30 net/sctp/sm_make_chunk.c:2345 sctp_cmd_process_init net/sctp/sm_sideeffect.c:667 [inline] sctp_cmd_interpreter net/sctp/sm_sideeffect.c:1374 [inline] sctp_side_effects net/sctp/sm_sideeffect.c:1184 [inline] sctp_do_sm+0x1b8b/0x9720 net/sctp/sm_sideeffect.c:1155 sctp_assoc_bh_rcv+0x65a/0xd80 net/sctp/associola.c:1048 sctp_inq_push+0x300/0x420 net/sctp/inqueue.c:80 sctp_backlog_rcv+0x2d7/0x11a0 net/sctp/input.c:344 sk_backlog_rcv include/net/sock.h:950 [inline] __release_sock+0x448/0x640 net/core/sock.c:2439 release_sock+0x99/0x2a0 net/core/sock.c:2955 sctp_wait_for_connect+0x3d7/0x840 net/sctp/socket.c:9167 __sctp_connect+0x1e9d/0x1f20 net/sctp/socket.c:1226 __sctp_setsockopt_connectx net/sctp/socket.c:1322 [inline] sctp_setsockopt_connectx_old net/sctp/socket.c:1338 [inline] sctp_setsockopt+0x960d/0x19090 net/sctp/socket.c:4647 sock_common_setsockopt+0x13b/0x170 net/core/sock.c:3151 __sys_setsockopt+0x7c3/0xa30 net/socket.c:2084 __do_sys_setsockopt net/socket.c:2100 [inline] __se_sys_setsockopt+0xdd/0x100 net/socket.c:2097 __x64_sys_setsockopt+0x62/0x80 net/socket.c:2097 do_syscall_64+0xb6/0x160 arch/x86/entry/common.c:291 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Local variable description: ----addr.i@sctp_process_init Variable was created at: sctp_process_param net/sctp/sm_make_chunk.c:2495 [inline] sctp_process_init+0x603/0x3e30 net/sctp/sm_make_chunk.c:2345 sctp_process_param net/sctp/sm_make_chunk.c:2495 [inline] sctp_process_init+0x603/0x3e30 net/sctp/sm_make_chunk.c:2345 =====================================================