linux-yocto/net/sctp
Eric Dumazet 17d6c77470 sctp: initialize more fields in sctp_v6_from_sk()
[ Upstream commit 2e8750469242cad8f01f320131fd5a6f540dbb99 ]

syzbot found that sin6_scope_id was not properly initialized,
leading to undefined behavior.

Clear sin6_scope_id and sin6_flowinfo.

BUG: KMSAN: uninit-value in __sctp_v6_cmp_addr+0x887/0x8c0 net/sctp/ipv6.c:649
  __sctp_v6_cmp_addr+0x887/0x8c0 net/sctp/ipv6.c:649
  sctp_inet6_cmp_addr+0x4f2/0x510 net/sctp/ipv6.c:983
  sctp_bind_addr_conflict+0x22a/0x3b0 net/sctp/bind_addr.c:390
  sctp_get_port_local+0x21eb/0x2440 net/sctp/socket.c:8452
  sctp_get_port net/sctp/socket.c:8523 [inline]
  sctp_listen_start net/sctp/socket.c:8567 [inline]
  sctp_inet_listen+0x710/0xfd0 net/sctp/socket.c:8636
  __sys_listen_socket net/socket.c:1912 [inline]
  __sys_listen net/socket.c:1927 [inline]
  __do_sys_listen net/socket.c:1932 [inline]
  __se_sys_listen net/socket.c:1930 [inline]
  __x64_sys_listen+0x343/0x4c0 net/socket.c:1930
  x64_sys_call+0x271d/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:51
  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
  do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Local variable addr.i.i created at:
  sctp_get_port net/sctp/socket.c:8515 [inline]
  sctp_listen_start net/sctp/socket.c:8567 [inline]
  sctp_inet_listen+0x650/0xfd0 net/sctp/socket.c:8636
  __sys_listen_socket net/socket.c:1912 [inline]
  __sys_listen net/socket.c:1927 [inline]
  __do_sys_listen net/socket.c:1932 [inline]
  __se_sys_listen net/socket.c:1930 [inline]
  __x64_sys_listen+0x343/0x4c0 net/socket.c:1930

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Reported-by: syzbot+e69f06a0f30116c68056@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netdev/68adc0a2.050a0220.37038e.00c4.GAE@google.com/T/#u
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: Xin Long <lucien.xin@gmail.com>
Link: https://patch.msgid.link/20250826141314.1802610-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-09-04 14:28:46 +02:00
..
associola.c net/sctp: Prevent autoclose integer overflow in sctp_association_init() 2025-01-09 13:28:50 +01:00
auth.c
bind_addr.c
chunk.c
debug.c
diag.c
endpointola.c
input.c sctp: linearize cloned gso packets in sctp_rcv 2025-08-28 16:24:16 +02:00
inqueue.c
ipv6.c sctp: initialize more fields in sctp_v6_from_sk() 2025-09-04 14:28:46 +02:00
Kconfig
Makefile
objcnt.c
offload.c
output.c
outqueue.c
primitive.c
proc.c sctp: move hlist_node and hashent out of sctp_ep_common 2024-08-19 05:45:35 +02:00
protocol.c
sm_make_chunk.c
sm_sideeffect.c
sm_statefuns.c sctp: properly validate chunk size in sctp_sf_ootb() 2024-11-14 13:13:36 +01:00
sm_statetable.c
socket.c sctp: Do not wake readers in __sctp_write_space() 2025-06-27 11:05:31 +01:00
stream_interleave.c
stream_sched_prio.c
stream_sched_rr.c
stream_sched.c
stream.c sctp: Fix undefined behavior in left shift operation 2025-04-10 14:31:51 +02:00
sysctl.c sctp: add mutual exclusion in proc_sctp_do_udp_port() 2025-05-22 14:08:27 +02:00
transport.c sctp: detect and prevent references to a freed transport in sendmsg 2025-05-02 07:44:04 +02:00
tsnmap.c
ulpevent.c
ulpqueue.c