On 3/23/26 3:54 AM, Jiayuan Chen wrote:
diff --git a/net/core/filter.c b/net/core/filter.c
index 78b548158fb0..fb975bcce804 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -12248,11 +12248,17 @@ __bpf_kfunc int bpf_sk_assign_tcp_reqsk(struct 
__sk_buff *s, struct sock *sk,
switch (skb->protocol) {
        case htons(ETH_P_IP):
+               if (ip_hdr(skb)->protocol != IPPROTO_TCP)
+                       return -EINVAL;
+
                ops = &tcp_request_sock_ops;
                min_mss = 536;
                break;
  #if IS_BUILTIN(CONFIG_IPV6)
        case htons(ETH_P_IPV6):
+               if (ipv6_hdr(skb)->nexthdr != IPPROTO_TCP)
+                       return -EINVAL;
+

lgtm.

Kuniyuki, please take a look and ack if it looks good to you also. Thanks.


Reply via email to