diff options
Diffstat (limited to 'meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch')
-rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch b/meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch new file mode 100644 index 0000000000..abf74e8441 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch | |||
@@ -0,0 +1,88 @@ | |||
1 | From 6e9d0d578fdf90901507dd9f9929d0e6fcdd3211 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Jeanson <mjeanson@efficios.com> | ||
3 | Date: Wed, 26 Jan 2022 14:49:11 -0500 | ||
4 | Subject: [PATCH 6/7] fix: net: skb: introduce kfree_skb_reason() (v5.17) | ||
5 | |||
6 | See upstream commit : | ||
7 | |||
8 | commit c504e5c2f9648a1e5c2be01e8c3f59d394192bd3 | ||
9 | Author: Menglong Dong <imagedong@tencent.com> | ||
10 | Date: Sun Jan 9 14:36:26 2022 +0800 | ||
11 | |||
12 | net: skb: introduce kfree_skb_reason() | ||
13 | |||
14 | Introduce the interface kfree_skb_reason(), which is able to pass | ||
15 | the reason why the skb is dropped to 'kfree_skb' tracepoint. | ||
16 | |||
17 | Add the 'reason' field to 'trace_kfree_skb', therefor user can get | ||
18 | more detail information about abnormal skb with 'drop_monitor' or | ||
19 | eBPF. | ||
20 | |||
21 | All drop reasons are defined in the enum 'skb_drop_reason', and | ||
22 | they will be print as string in 'kfree_skb' tracepoint in format | ||
23 | of 'reason: XXX'. | ||
24 | |||
25 | ( Maybe the reasons should be defined in a uapi header file, so that | ||
26 | user space can use them? ) | ||
27 | |||
28 | Upstream-Status: Backport [lttng-modules commit 6e9d0d578fdf90901507dd9f9929d0e6fcdd3211] | ||
29 | |||
30 | Change-Id: I6766678a288da959498a4736fc3f95bf239c3e94 | ||
31 | Signed-off-by: Michael Jeanson <mjeanson@efficios.com> | ||
32 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
33 | --- | ||
34 | include/instrumentation/events/skb.h | 31 ++++++++++++++++++++++++++++ | ||
35 | 1 file changed, 31 insertions(+) | ||
36 | |||
37 | diff --git a/include/instrumentation/events/skb.h b/include/instrumentation/events/skb.h | ||
38 | index d6579363..c6d7095d 100644 | ||
39 | --- a/include/instrumentation/events/skb.h | ||
40 | +++ b/include/instrumentation/events/skb.h | ||
41 | @@ -13,6 +13,36 @@ | ||
42 | /* | ||
43 | * Tracepoint for free an sk_buff: | ||
44 | */ | ||
45 | +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0)) | ||
46 | +LTTNG_TRACEPOINT_ENUM(skb_drop_reason, | ||
47 | + TP_ENUM_VALUES( | ||
48 | + ctf_enum_value("NOT_SPECIFIED", SKB_DROP_REASON_NOT_SPECIFIED) | ||
49 | + ctf_enum_value("NO_SOCKET", SKB_DROP_REASON_NO_SOCKET) | ||
50 | + ctf_enum_value("PKT_TOO_SMALL", SKB_DROP_REASON_PKT_TOO_SMALL) | ||
51 | + ctf_enum_value("TCP_CSUM", SKB_DROP_REASON_TCP_CSUM) | ||
52 | + ctf_enum_value("TCP_FILTER", SKB_DROP_REASON_TCP_FILTER) | ||
53 | + ctf_enum_value("UDP_CSUM", SKB_DROP_REASON_UDP_CSUM) | ||
54 | + ctf_enum_value("MAX", SKB_DROP_REASON_MAX) | ||
55 | + ) | ||
56 | +) | ||
57 | + | ||
58 | +LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, | ||
59 | + | ||
60 | + skb_kfree, | ||
61 | + | ||
62 | + TP_PROTO(struct sk_buff *skb, void *location, | ||
63 | + enum skb_drop_reason reason), | ||
64 | + | ||
65 | + TP_ARGS(skb, location, reason), | ||
66 | + | ||
67 | + TP_FIELDS( | ||
68 | + ctf_integer_hex(void *, skbaddr, skb) | ||
69 | + ctf_integer_hex(void *, location, location) | ||
70 | + ctf_integer_network(unsigned short, protocol, skb->protocol) | ||
71 | + ctf_enum(skb_drop_reason, uint8_t, reason, reason) | ||
72 | + ) | ||
73 | +) | ||
74 | +#else | ||
75 | LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, | ||
76 | |||
77 | skb_kfree, | ||
78 | @@ -27,6 +57,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, | ||
79 | ctf_integer_network(unsigned short, protocol, skb->protocol) | ||
80 | ) | ||
81 | ) | ||
82 | +#endif | ||
83 | |||
84 | LTTNG_TRACEPOINT_EVENT_MAP(consume_skb, | ||
85 | |||
86 | -- | ||
87 | 2.19.1 | ||
88 | |||