[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251023-kmsan_fix-v1-1-d08c18db8877@gmail.com>
Date: Thu, 23 Oct 2025 15:22:17 +0530
From: Ranganath V N <vnranganath.20@...il.com>
To: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>,
Xin Long <lucien.xin@...il.com>, "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>
Cc: linux-sctp@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, syzkaller-bugs@...glegroups.com,
syzbot+d101e12bccd4095460e7@...kaller.appspotmail.com,
Ranganath V N <vnranganath.20@...il.com>
Subject: [PATCH] net: sctp: fix KMSAN uninit-value in sctp_inq_pop
Fix an issue detected by syzbot:
KMSAN reported an uninitialized-value access in sctp_inq_pop
while parsing an SCTP chunk header received frma a locally transmitted packet.
BUG: KMSAN: uninit-value in sctp_inq_pop
skb allocated in sctp_packet_transmit() contain uninitialized bytes.
sctp transmit path writes only the necessary header and chunk data,
the receive path read from uinitialized parts of the skb, triggering KMSAN.
Fix this by explicitly zeroing the skb payload area after allocation
and reservation, ensuring all future reads from this region are fully
initialized.
Reported-by: syzbot+d101e12bccd4095460e7@...kaller.appspotmail.com
Tested-by: syzbot+d101e12bccd4095460e7@...kaller.appspotmail.com
Fixes: https://syzkaller.appspot.com/bug?extid=d101e12bccd4095460e7
Signed-off-by: Ranganath V N <vnranganath.20@...il.com>
---
KMSAN reported an uninitialized-value access in sctp_inq_pop
while parsing an SCTP chunk header received frma a locally transmitted packet.
---
net/sctp/output.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/sctp/output.c b/net/sctp/output.c
index 23e96305cad7..e76413741faf 100644
--- a/net/sctp/output.c
+++ b/net/sctp/output.c
@@ -602,6 +602,8 @@ int sctp_packet_transmit(struct sctp_packet *packet, gfp_t gfp)
skb_reserve(head, packet->overhead + MAX_HEADER);
skb_set_owner_w(head, sk);
+ memset(head->data, 0, skb_tailroom(head));
+
/* set sctp header */
sh = skb_push(head, sizeof(struct sctphdr));
skb_reset_transport_header(head);
---
base-commit: 43e9ad0c55a369ecc84a4788d06a8a6bfa634f1c
change-id: 20251023-kmsan_fix-78d527b9960b
Best regards,
--
Ranganath V N <vnranganath.20@...il.com>
Powered by blists - more mailing lists