Messages in this thread | | | Date | Wed, 22 Nov 2023 07:43:23 -0800 | Subject | [syzbot] [mptcp?] KMSAN: uninit-value in mptcp_incoming_options | From | syzbot <> |
| |
Hello,
syzbot found the following issue on:
HEAD commit: c2d5304e6c64 Merge tag 'platform-drivers-x86-v6.7-2' of gi.. git tree: upstream console+strace: https://syzkaller.appspot.com/x/log.txt?x=1536e3d4e80000 kernel config: https://syzkaller.appspot.com/x/.config?x=e32016b84cf917ca dashboard link: https://syzkaller.appspot.com/bug?extid=b834a6b2decad004cfa1 compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11469724e80000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13934aaf680000
Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/23ea827adf3b/disk-c2d5304e.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/0f964ac588f5/vmlinux-c2d5304e.xz kernel image: https://storage.googleapis.com/syzbot-assets/b061be889285/bzImage-c2d5304e.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+b834a6b2decad004cfa1@syzkaller.appspotmail.com
===================================================== BUG: KMSAN: uninit-value in mptcp_incoming_options+0xc93/0x3a80 net/mptcp/options.c:1197 mptcp_incoming_options+0xc93/0x3a80 net/mptcp/options.c:1197 tcp_data_queue+0xb4/0x7f20 net/ipv4/tcp_input.c:5141 tcp_rcv_established+0x1132/0x2600 net/ipv4/tcp_input.c:6155 tcp_v4_do_rcv+0x8a8/0xff0 net/ipv4/tcp_ipv4.c:1906 tcp_v4_rcv+0x4ce0/0x51a0 net/ipv4/tcp_ipv4.c:2329 ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:314 [inline] ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:461 [inline] ip_rcv_finish net/ipv4/ip_input.c:449 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] ip_rcv+0x476/0x770 net/ipv4/ip_input.c:569 __netif_receive_skb_one_core net/core/dev.c:5529 [inline] __netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5643 process_backlog+0x480/0x8b0 net/core/dev.c:5971 __napi_poll+0xe3/0x970 net/core/dev.c:6533 napi_poll net/core/dev.c:6602 [inline] net_rx_action+0x884/0x16d0 net/core/dev.c:6735 __do_softirq+0x1b7/0x7c3 kernel/softirq.c:553 do_softirq+0x9a/0xf0 kernel/softirq.c:454 __local_bh_enable_ip+0x99/0xa0 kernel/softirq.c:381 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:817 [inline] __dev_queue_xmit+0x24ff/0x5130 net/core/dev.c:4373 dev_queue_xmit include/linux/netdevice.h:3112 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip_finish_output2+0x14be/0x1b40 net/ipv4/ip_output.c:235 __ip_finish_output+0x266/0x720 ip_finish_output+0x4b/0x550 net/ipv4/ip_output.c:323 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip_output+0x15f/0x3e0 net/ipv4/ip_output.c:433 dst_output include/net/dst.h:451 [inline] ip_local_out net/ipv4/ip_output.c:129 [inline] __ip_queue_xmit+0x1c02/0x1e00 net/ipv4/ip_output.c:535 ip_queue_xmit+0x60/0x80 net/ipv4/ip_output.c:549 __tcp_transmit_skb+0x3b26/0x4c40 net/ipv4/tcp_output.c:1462 tcp_transmit_skb net/ipv4/tcp_output.c:1480 [inline] tcp_write_xmit+0x3e0f/0x8940 net/ipv4/tcp_output.c:2792 __tcp_push_pending_frames+0xc4/0x380 net/ipv4/tcp_output.c:2977 tcp_push+0x755/0x7a0 net/ipv4/tcp.c:736 mptcp_push_release net/mptcp/protocol.c:1489 [inline] __mptcp_push_pending+0x8bc/0xde0 net/mptcp/protocol.c:1624 mptcp_sendmsg+0x1e90/0x2300 net/mptcp/protocol.c:1890 inet_sendmsg+0x105/0x190 net/ipv4/af_inet.c:847 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2584 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2638 __sys_sendmmsg+0x3c4/0x950 net/socket.c:2724 __do_sys_sendmmsg net/socket.c:2753 [inline] __se_sys_sendmmsg net/socket.c:2750 [inline] __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2750 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x63/0x6b
Uninit was stored to memory at: mptcp_parse_option net/mptcp/options.c:110 [inline] mptcp_get_options+0x2d86/0x2e60 net/mptcp/options.c:396 mptcp_incoming_options+0x124/0x3a80 net/mptcp/options.c:1139 tcp_data_queue+0xb4/0x7f20 net/ipv4/tcp_input.c:5141 tcp_rcv_established+0x1132/0x2600 net/ipv4/tcp_input.c:6155 tcp_v4_do_rcv+0x8a8/0xff0 net/ipv4/tcp_ipv4.c:1906 tcp_v4_rcv+0x4ce0/0x51a0 net/ipv4/tcp_ipv4.c:2329 ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:314 [inline] ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:461 [inline] ip_rcv_finish net/ipv4/ip_input.c:449 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] ip_rcv+0x476/0x770 net/ipv4/ip_input.c:569 __netif_receive_skb_one_core net/core/dev.c:5529 [inline] __netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5643 process_backlog+0x480/0x8b0 net/core/dev.c:5971 __napi_poll+0xe3/0x970 net/core/dev.c:6533 napi_poll net/core/dev.c:6602 [inline] net_rx_action+0x884/0x16d0 net/core/dev.c:6735 __do_softirq+0x1b7/0x7c3 kernel/softirq.c:553
Local variable mp_opt created at: mptcp_incoming_options+0x9b/0x3a80 net/mptcp/options.c:1116 tcp_data_queue+0xb4/0x7f20 net/ipv4/tcp_input.c:5141
CPU: 0 PID: 5031 Comm: syz-executor376 Not tainted 6.7.0-rc2-syzkaller-00014-gc2d5304e6c64 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023 =====================================================
--- This report is generated by a bot. It may contain errors. See https://goo.gl/tpsmEJ for more information about syzbot. syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See: https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with: #syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with: #syz test: git://repo/address.git branch-or-commit-hash If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with: #syz set subsystems: new-subsystem (See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with: #syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with: #syz undup
| |