From: sashiko-bot@kernel.org
To: "Fernando Fernandez Mancera" <fmancera@suse.de>
Cc: bpf@vger.kernel.org
Subject: Re: [PATCH 06/16 net-next v2] ipv4: udp: split IPv4 specific logic into udp_ipv4.c
Date: Tue, 29 Sep 2026 19:32:44 +0000 [thread overview]
Message-ID: <20260929193244.CA0F01F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260928193046.6698-7-fmancera@suse.de>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] net: IPv4 BIG TCP UDP support broken by length extraction truncation in udp_rcv()
--
commit 348e86f71529a8963fd2bec33bd3ebd366457c18
Author: Fernando Fernandez Mancera <fmancera@suse.de>
ipv4: udp: split IPv4 specific logic into udp_ipv4.c
This commit moves IPv4-specific UDP socket functions from the generic UDP
infrastructure into a new file, udp_ipv4.c. This change enables compiling
the INET subsystem without IPv4 support.
> diff --git a/net/ipv4/udp_ipv4.c b/net/ipv4/udp_ipv4.c
> new file mode 100644
> --- /dev/null
> +++ b/net/ipv4/udp_ipv4.c
[ ... ]
> +int udp_rcv(struct sk_buff *skb)
> +{
> + struct rtable *rt = skb_rtable(skb);
> + struct net *net = dev_net(skb->dev);
> + struct sock *sk = NULL;
> + unsigned short ulen;
> + __be32 saddr, daddr;
> + struct udphdr *uh;
> + bool refcounted;
> + int drop_reason;
[ ... ]
> + uh = udp_hdr(skb);
> + ulen = ntohs(uh->len);
> + saddr = ip_hdr(skb)->saddr;
> + daddr = ip_hdr(skb)->daddr;
> +
> + if (ulen > skb->len)
> + goto short_packet;
> +
> + if (ulen < sizeof(*uh))
> + goto short_packet;
[Severity: High]
Does this change in udp_rcv() break support for IPv4 BIG TCP UDP packets?
By replacing the robust udp_get_len() helper with a direct ntohs(uh->len)
call and downgrading ulen to a 16-bit unsigned short, ulen evaluates to 0
for BIG TCP packets (which intentionally have uh->len set to 0).
Because ulen evaluates to 0, the subsequent bounds check (ulen < sizeof(*uh))
will evaluate as true (0 < 8), causing valid BIG TCP packets to jump to the
short_packet label and be incorrectly dropped with
SKB_DROP_REASON_PKT_TOO_SMALL.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260928193046.6698-1-fmancera@suse.de?part=6
next prev parent reply other threads:[~2026-09-29 19:32 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 19:29 [PATCH 00/16 net-next v2] Allow compiling an IPv6-only kernel network stack Fernando Fernandez Mancera
2026-09-28 19:29 ` [PATCH 01/16 net-next v2] ipv4: introduce CONFIG_IPV4 to decouple the IPv4 stack Fernando Fernandez Mancera
2026-09-29 19:32 ` sashiko-bot
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:29 ` [PATCH 02/16 net-next v2] net: core: add IPv4 fallback stubs and guards for CONFIG_IPV4=n Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:29 ` [PATCH 03/16 net-next v2] net: inet: relocate ip_generic_getfrag and guard IPv4 socket logic Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 04/16 net-next v2] tcp: move protocol agnostic TCP functions out of tcp_ipv4.c Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 05/16 net-next v2] ipv4: raw: split IPv4 specific logic into raw_ipv4.c Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 06/16 net-next v2] ipv4: udp: split IPv4 specific logic into udp_ipv4.c Fernando Fernandez Mancera
2026-09-29 19:32 ` sashiko-bot [this message]
2026-09-29 19:40 ` Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 07/16 net-next v2] ipv4: icmp: split IPv4 specific logic into icmp_ipv4.c Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 08/16 net-next v2] ipv4: ping: split IPv4 specific logic into ping_ipv4.c Fernando Fernandez Mancera
2026-09-28 19:30 ` [PATCH 09/16 net-next v2] ipv4: fib: split common nexthop logic to fib_core.c Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 10/16 net-next v2] tunnels: guard IPv4 tunnel functions with CONFIG_IPV4 Fernando Fernandez Mancera
2026-09-28 19:30 ` [PATCH 11/16 net-next v2] ipv4: disable IPv4-only sysctls when CONFIG_IPV4=n Fernando Fernandez Mancera
2026-09-29 7:14 ` Joel Granados
2026-09-29 8:20 ` Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 12/16 net-next v2] netfilter: ipv4: guard ip_route_me_harder() with CONFIG_IPV4 Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 13/16 net-next v2] net: bridge: guard ARP/RARP proxy and suppression " Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 14/16 net-next v2] wifi: mac80211: replace CONFIG_INET with CONFIG_IPV4 guards Fernando Fernandez Mancera
2026-09-28 19:30 ` [PATCH 15/16 net-next v2] netlabel: cipso: introduce CONFIG_CIPSO to decouple IPv4 dependency Fernando Fernandez Mancera
2026-09-29 19:32 ` sashiko-bot
2026-09-30 1:37 ` Paul Moore
2026-10-02 10:32 ` netdev-bot+sashiko
2026-09-28 19:30 ` [PATCH 16/16 net-next v2] ipv4: make CONFIG_IPV4 boolean Fernando Fernandez Mancera
2026-10-02 10:32 ` netdev-bot+sashiko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260929193244.CA0F01F00893@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=fmancera@suse.de \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.