diff options
Diffstat (limited to 'meta/recipes-kernel/lttng/lttng-modules/0004-sunrpc-introduce-lttng_get_clid-helper.patch')
-rw-r--r-- | meta/recipes-kernel/lttng/lttng-modules/0004-sunrpc-introduce-lttng_get_clid-helper.patch | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0004-sunrpc-introduce-lttng_get_clid-helper.patch b/meta/recipes-kernel/lttng/lttng-modules/0004-sunrpc-introduce-lttng_get_clid-helper.patch deleted file mode 100644 index 4dd726cf2c..0000000000 --- a/meta/recipes-kernel/lttng/lttng-modules/0004-sunrpc-introduce-lttng_get_clid-helper.patch +++ /dev/null | |||
@@ -1,130 +0,0 @@ | |||
1 | From b6903d57e4c3234ec5b1c7f72e232023cdee0fab Mon Sep 17 00:00:00 2001 | ||
2 | From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
3 | Date: Thu, 12 Dec 2019 10:39:38 -0500 | ||
4 | Subject: [PATCH 4/4] sunrpc: introduce lttng_get_clid helper | ||
5 | |||
6 | Introduce the lttng_get_clid helper to always check for NULL pointer | ||
7 | when getting the client id. While not always strictly needed depending | ||
8 | on the tracepoint callsite, prefer robustness of instrumentation and | ||
9 | always check for NULL rather than play whack-a-mole. | ||
10 | |||
11 | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
12 | Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/1330a091a687a406513c3a326c2fc2a0dbe75536] | ||
13 | Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com> | ||
14 | --- | ||
15 | instrumentation/events/lttng-module/rpc.h | 43 ++++++++++++++++------- | ||
16 | 1 file changed, 31 insertions(+), 12 deletions(-) | ||
17 | |||
18 | diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h | ||
19 | index 2d06e55..ceaf9db 100644 | ||
20 | --- a/instrumentation/events/lttng-module/rpc.h | ||
21 | +++ b/instrumentation/events/lttng-module/rpc.h | ||
22 | @@ -9,6 +9,29 @@ | ||
23 | #include <linux/sunrpc/sched.h> | ||
24 | #include <linux/sunrpc/clnt.h> | ||
25 | |||
26 | +#ifndef ONCE_LTTNG_RPC_H | ||
27 | +#define ONCE_LTTNG_RPC_H | ||
28 | + | ||
29 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) | ||
30 | +static inline | ||
31 | +int lttng_get_clid(const struct rpc_task *task) | ||
32 | +{ | ||
33 | + struct rpc_clnt *tk_client; | ||
34 | + | ||
35 | + tk_client = task->tk_client; | ||
36 | + if (!tk_client) | ||
37 | + return -1; | ||
38 | + /* | ||
39 | + * The cl_clid field is always initialized to positive signed | ||
40 | + * integers. Negative signed integer values are treated as | ||
41 | + * errors. | ||
42 | + */ | ||
43 | + return (int) tk_client->cl_clid; | ||
44 | +} | ||
45 | +#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */ | ||
46 | + | ||
47 | +#endif /* ONCE_LTTNG_RPC_H */ | ||
48 | + | ||
49 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0)) | ||
50 | LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, | ||
51 | |||
52 | @@ -18,7 +41,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, | ||
53 | |||
54 | TP_FIELDS( | ||
55 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
56 | - ctf_integer(int, client_id, task->tk_client->cl_clid) | ||
57 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
58 | ctf_integer(int, status, task->tk_status) | ||
59 | ) | ||
60 | ) | ||
61 | @@ -43,7 +66,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, | ||
62 | |||
63 | TP_FIELDS( | ||
64 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
65 | - ctf_integer(int, client_id, task->tk_client->cl_clid) | ||
66 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
67 | ctf_integer(int, status, task->tk_status) | ||
68 | ) | ||
69 | ) | ||
70 | @@ -100,7 +123,7 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status, | ||
71 | |||
72 | TP_FIELDS( | ||
73 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
74 | - ctf_integer(int, client_id, task->tk_client->cl_clid) | ||
75 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
76 | ctf_integer(int, status, task->tk_status) | ||
77 | ) | ||
78 | ) | ||
79 | @@ -112,7 +135,7 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status, | ||
80 | |||
81 | TP_FIELDS( | ||
82 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
83 | - ctf_integer(int, client_id, task->tk_client->cl_clid) | ||
84 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
85 | ctf_integer(int, status, status) | ||
86 | ) | ||
87 | ) | ||
88 | @@ -139,8 +162,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, | ||
89 | |||
90 | TP_FIELDS( | ||
91 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
92 | - ctf_integer(int, client_id, task->tk_client ? | ||
93 | - task->tk_client->cl_clid : -1) | ||
94 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
95 | ctf_integer_hex(const void *, action, action) | ||
96 | ctf_integer(unsigned long, runstate, task->tk_runstate) | ||
97 | ctf_integer(int, status, task->tk_status) | ||
98 | @@ -177,8 +199,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued, | ||
99 | |||
100 | TP_FIELDS( | ||
101 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
102 | - ctf_integer(int, client_id, task->tk_client ? | ||
103 | - task->tk_client->cl_clid : -1) | ||
104 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
105 | ctf_integer(unsigned long, timeout, task->tk_timeout) | ||
106 | ctf_integer(unsigned long, runstate, task->tk_runstate) | ||
107 | ctf_integer(int, status, task->tk_status) | ||
108 | @@ -210,8 +231,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, | ||
109 | |||
110 | TP_FIELDS( | ||
111 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
112 | - ctf_integer(int, client_id, task->tk_client ? | ||
113 | - task->tk_client->cl_clid : -1) | ||
114 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
115 | ctf_integer_hex(const void *, action, action) | ||
116 | ctf_integer(unsigned long, runstate, task->tk_runstate) | ||
117 | ctf_integer(int, status, task->tk_status) | ||
118 | @@ -248,8 +268,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued, | ||
119 | |||
120 | TP_FIELDS( | ||
121 | ctf_integer(unsigned int, task_id, task->tk_pid) | ||
122 | - ctf_integer(int, client_id, task->tk_client ? | ||
123 | - task->tk_client->cl_clid : -1) | ||
124 | + ctf_integer(int, client_id, lttng_get_clid(task)) | ||
125 | ctf_integer(unsigned long, timeout, task->tk_timeout) | ||
126 | ctf_integer(unsigned long, runstate, task->tk_runstate) | ||
127 | ctf_integer(int, status, task->tk_status) | ||
128 | -- | ||
129 | 2.17.1 | ||
130 | |||