]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tcp: Use skb__nullable in trace_tcp_send_reset
authorPhilo Lu <lulie@linux.alibaba.com>
Wed, 11 Sep 2024 03:37:17 +0000 (11:37 +0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Wed, 11 Sep 2024 15:56:42 +0000 (08:56 -0700)
Replace skb with skb__nullable as the argument name. The suffix tells
bpf verifier through btf that the arg could be NULL and should be
checked in tp_btf prog.

For now, this is the only nullable argument in tcp tracepoints.

Signed-off-by: Philo Lu <lulie@linux.alibaba.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20240911033719.91468-4-lulie@linux.alibaba.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
include/trace/events/tcp.h

index 1c8bd8e186b89e0bd9c156e21690011875e80c12..a27c4b619dffd7dcc72fffa71bf0fd5e34fe6681 100644 (file)
@@ -91,10 +91,10 @@ DEFINE_RST_REASON(FN, FN)
 TRACE_EVENT(tcp_send_reset,
 
        TP_PROTO(const struct sock *sk,
-                const struct sk_buff *skb,
+                const struct sk_buff *skb__nullable,
                 const enum sk_rst_reason reason),
 
-       TP_ARGS(sk, skb, reason),
+       TP_ARGS(sk, skb__nullable, reason),
 
        TP_STRUCT__entry(
                __field(const void *, skbaddr)
@@ -106,7 +106,7 @@ TRACE_EVENT(tcp_send_reset,
        ),
 
        TP_fast_assign(
-               __entry->skbaddr = skb;
+               __entry->skbaddr = skb__nullable;
                __entry->skaddr = sk;
                /* Zero means unknown state. */
                __entry->state = sk ? sk->sk_state : 0;
@@ -118,13 +118,13 @@ TRACE_EVENT(tcp_send_reset,
                        const struct inet_sock *inet = inet_sk(sk);
 
                        TP_STORE_ADDR_PORTS(__entry, inet, sk);
-               } else if (skb) {
-                       const struct tcphdr *th = (const struct tcphdr *)skb->data;
+               } else if (skb__nullable) {
+                       const struct tcphdr *th = (const struct tcphdr *)skb__nullable->data;
                        /*
                         * We should reverse the 4-tuple of skb, so later
                         * it can print the right flow direction of rst.
                         */
-                       TP_STORE_ADDR_PORTS_SKB(skb, th, entry->daddr, entry->saddr);
+                       TP_STORE_ADDR_PORTS_SKB(skb__nullable, th, entry->daddr, entry->saddr);
                }
                __entry->reason = reason;
        ),