Re: [PATCH] net: sctp: fix KMSAN uninit-value in sctp_inq_pop
Xin Long <[email protected]>
| Newsgroups | org.kernel.vger.linux-sctp,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CADvbK_c2zqQ76kzPmTovWqpRdN2ad7duHsCs9fW9oVNCLdd-Xw@mail.gmail.com> |
On Thu, Oct 23, 2025 at 5:52 AM Ranganath V N <[email protected]> wrote: > > Fix an issue detected by syzbot: > > KMSAN reported an uninitialized-value access in sctp_inq_pop Hi, Ranganath, The issue is actually caused by skb trimming via sk_filter() in sctp_rcv(). In the reproducer, skb->len becomes 1 after sk_filter(), which bypassed the original check: if (skb->len < sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr) + skb_transport_offset(skb)) (TBH, I didn't expect it would allow BPF to trim skb in sk_filter().) To handle this safely, a new check should be performed after sk_filter() like: + if (sk_filter(sk, skb) || skb->len < sizeof(struct sctp_chunkhdr)) goto discard_release; Could you please proceed with this change in sctp_rcv()? Thanks.