Skip to content

Commit d50fb2c

Browse files
committed
Update samples to work around verifier limitation
Signed-off-by: Dave Thaler <[email protected]>
1 parent 62c8fda commit d50fb2c

File tree

3 files changed

+492
-3
lines changed

3 files changed

+492
-3
lines changed

tests/sample/bindmonitor.c

Lines changed: 197 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ update_audit_entry(bind_md_t* ctx)
5858
bpf_map_update_elem(&audit_map, &process_id, &audit_entry, 0);
5959
}
6060

61-
inline process_entry_t*
61+
__attribute__((always_inline)) process_entry_t*
6262
find_or_create_process_entry(bind_md_t* ctx)
6363
{
6464
uint64_t key = ctx->process_id;
@@ -81,12 +81,208 @@ find_or_create_process_entry(bind_md_t* ctx)
8181
if (!entry)
8282
return entry;
8383

84+
#if 0
8485
for (index = 0; index < 64; index++) {
8586
if ((ctx->app_id_start + index) >= ctx->app_id_end)
8687
break;
8788

8889
entry->name[index] = ctx->app_id_start[index];
8990
}
91+
#else
92+
// Work around temporary verifier limitation.
93+
if (ctx->app_id_end - ctx->app_id_start > 0) {
94+
entry->name[0] = ctx->app_id_start[0];
95+
}
96+
if (ctx->app_id_end - ctx->app_id_start > 1) {
97+
entry->name[1] = ctx->app_id_start[1];
98+
}
99+
if (ctx->app_id_end - ctx->app_id_start > 2) {
100+
entry->name[2] = ctx->app_id_start[2];
101+
}
102+
if (ctx->app_id_end - ctx->app_id_start > 3) {
103+
entry->name[3] = ctx->app_id_start[3];
104+
}
105+
if (ctx->app_id_end - ctx->app_id_start > 4) {
106+
entry->name[4] = ctx->app_id_start[4];
107+
}
108+
if (ctx->app_id_end - ctx->app_id_start > 5) {
109+
entry->name[5] = ctx->app_id_start[5];
110+
}
111+
if (ctx->app_id_end - ctx->app_id_start > 6) {
112+
entry->name[6] = ctx->app_id_start[6];
113+
}
114+
if (ctx->app_id_end - ctx->app_id_start > 7) {
115+
entry->name[7] = ctx->app_id_start[7];
116+
}
117+
if (ctx->app_id_end - ctx->app_id_start > 8) {
118+
entry->name[8] = ctx->app_id_start[8];
119+
}
120+
if (ctx->app_id_end - ctx->app_id_start > 9) {
121+
entry->name[9] = ctx->app_id_start[9];
122+
}
123+
if (ctx->app_id_end - ctx->app_id_start > 10) {
124+
entry->name[10] = ctx->app_id_start[10];
125+
}
126+
if (ctx->app_id_end - ctx->app_id_start > 11) {
127+
entry->name[11] = ctx->app_id_start[11];
128+
}
129+
if (ctx->app_id_end - ctx->app_id_start > 12) {
130+
entry->name[12] = ctx->app_id_start[12];
131+
}
132+
if (ctx->app_id_end - ctx->app_id_start > 13) {
133+
entry->name[13] = ctx->app_id_start[13];
134+
}
135+
if (ctx->app_id_end - ctx->app_id_start > 14) {
136+
entry->name[14] = ctx->app_id_start[14];
137+
}
138+
if (ctx->app_id_end - ctx->app_id_start > 15) {
139+
entry->name[15] = ctx->app_id_start[15];
140+
}
141+
if (ctx->app_id_end - ctx->app_id_start > 16) {
142+
entry->name[16] = ctx->app_id_start[16];
143+
}
144+
if (ctx->app_id_end - ctx->app_id_start > 17) {
145+
entry->name[17] = ctx->app_id_start[17];
146+
}
147+
if (ctx->app_id_end - ctx->app_id_start > 18) {
148+
entry->name[18] = ctx->app_id_start[18];
149+
}
150+
if (ctx->app_id_end - ctx->app_id_start > 19) {
151+
entry->name[19] = ctx->app_id_start[19];
152+
}
153+
if (ctx->app_id_end - ctx->app_id_start > 20) {
154+
entry->name[20] = ctx->app_id_start[20];
155+
}
156+
if (ctx->app_id_end - ctx->app_id_start > 21) {
157+
entry->name[21] = ctx->app_id_start[21];
158+
}
159+
if (ctx->app_id_end - ctx->app_id_start > 22) {
160+
entry->name[22] = ctx->app_id_start[22];
161+
}
162+
if (ctx->app_id_end - ctx->app_id_start > 23) {
163+
entry->name[23] = ctx->app_id_start[23];
164+
}
165+
if (ctx->app_id_end - ctx->app_id_start > 24) {
166+
entry->name[24] = ctx->app_id_start[24];
167+
}
168+
if (ctx->app_id_end - ctx->app_id_start > 25) {
169+
entry->name[25] = ctx->app_id_start[25];
170+
}
171+
if (ctx->app_id_end - ctx->app_id_start > 26) {
172+
entry->name[26] = ctx->app_id_start[26];
173+
}
174+
if (ctx->app_id_end - ctx->app_id_start > 27) {
175+
entry->name[27] = ctx->app_id_start[27];
176+
}
177+
if (ctx->app_id_end - ctx->app_id_start > 28) {
178+
entry->name[28] = ctx->app_id_start[28];
179+
}
180+
if (ctx->app_id_end - ctx->app_id_start > 29) {
181+
entry->name[29] = ctx->app_id_start[29];
182+
}
183+
if (ctx->app_id_end - ctx->app_id_start > 30) {
184+
entry->name[30] = ctx->app_id_start[30];
185+
}
186+
if (ctx->app_id_end - ctx->app_id_start > 31) {
187+
entry->name[31] = ctx->app_id_start[31];
188+
}
189+
if (ctx->app_id_end - ctx->app_id_start > 32) {
190+
entry->name[32] = ctx->app_id_start[32];
191+
}
192+
if (ctx->app_id_end - ctx->app_id_start > 33) {
193+
entry->name[33] = ctx->app_id_start[33];
194+
}
195+
if (ctx->app_id_end - ctx->app_id_start > 34) {
196+
entry->name[34] = ctx->app_id_start[34];
197+
}
198+
if (ctx->app_id_end - ctx->app_id_start > 35) {
199+
entry->name[35] = ctx->app_id_start[35];
200+
}
201+
if (ctx->app_id_end - ctx->app_id_start > 36) {
202+
entry->name[36] = ctx->app_id_start[36];
203+
}
204+
if (ctx->app_id_end - ctx->app_id_start > 37) {
205+
entry->name[37] = ctx->app_id_start[37];
206+
}
207+
if (ctx->app_id_end - ctx->app_id_start > 38) {
208+
entry->name[38] = ctx->app_id_start[38];
209+
}
210+
if (ctx->app_id_end - ctx->app_id_start > 39) {
211+
entry->name[39] = ctx->app_id_start[39];
212+
}
213+
if (ctx->app_id_end - ctx->app_id_start > 40) {
214+
entry->name[40] = ctx->app_id_start[40];
215+
}
216+
if (ctx->app_id_end - ctx->app_id_start > 41) {
217+
entry->name[41] = ctx->app_id_start[41];
218+
}
219+
if (ctx->app_id_end - ctx->app_id_start > 42) {
220+
entry->name[42] = ctx->app_id_start[42];
221+
}
222+
if (ctx->app_id_end - ctx->app_id_start > 43) {
223+
entry->name[43] = ctx->app_id_start[43];
224+
}
225+
if (ctx->app_id_end - ctx->app_id_start > 44) {
226+
entry->name[44] = ctx->app_id_start[44];
227+
}
228+
if (ctx->app_id_end - ctx->app_id_start > 45) {
229+
entry->name[45] = ctx->app_id_start[45];
230+
}
231+
if (ctx->app_id_end - ctx->app_id_start > 46) {
232+
entry->name[46] = ctx->app_id_start[46];
233+
}
234+
if (ctx->app_id_end - ctx->app_id_start > 47) {
235+
entry->name[47] = ctx->app_id_start[47];
236+
}
237+
if (ctx->app_id_end - ctx->app_id_start > 48) {
238+
entry->name[48] = ctx->app_id_start[48];
239+
}
240+
if (ctx->app_id_end - ctx->app_id_start > 49) {
241+
entry->name[49] = ctx->app_id_start[49];
242+
}
243+
if (ctx->app_id_end - ctx->app_id_start > 50) {
244+
entry->name[50] = ctx->app_id_start[50];
245+
}
246+
if (ctx->app_id_end - ctx->app_id_start > 51) {
247+
entry->name[51] = ctx->app_id_start[51];
248+
}
249+
if (ctx->app_id_end - ctx->app_id_start > 52) {
250+
entry->name[52] = ctx->app_id_start[52];
251+
}
252+
if (ctx->app_id_end - ctx->app_id_start > 53) {
253+
entry->name[53] = ctx->app_id_start[53];
254+
}
255+
if (ctx->app_id_end - ctx->app_id_start > 54) {
256+
entry->name[54] = ctx->app_id_start[54];
257+
}
258+
if (ctx->app_id_end - ctx->app_id_start > 55) {
259+
entry->name[55] = ctx->app_id_start[55];
260+
}
261+
if (ctx->app_id_end - ctx->app_id_start > 56) {
262+
entry->name[56] = ctx->app_id_start[56];
263+
}
264+
if (ctx->app_id_end - ctx->app_id_start > 57) {
265+
entry->name[57] = ctx->app_id_start[57];
266+
}
267+
if (ctx->app_id_end - ctx->app_id_start > 58) {
268+
entry->name[58] = ctx->app_id_start[58];
269+
}
270+
if (ctx->app_id_end - ctx->app_id_start > 59) {
271+
entry->name[59] = ctx->app_id_start[59];
272+
}
273+
if (ctx->app_id_end - ctx->app_id_start > 60) {
274+
entry->name[60] = ctx->app_id_start[60];
275+
}
276+
if (ctx->app_id_end - ctx->app_id_start > 61) {
277+
entry->name[61] = ctx->app_id_start[61];
278+
}
279+
if (ctx->app_id_end - ctx->app_id_start > 62) {
280+
entry->name[62] = ctx->app_id_start[62];
281+
}
282+
if (ctx->app_id_end - ctx->app_id_start > 63) {
283+
entry->name[63] = ctx->app_id_start[63];
284+
}
285+
#endif
90286
return entry;
91287
}
92288

0 commit comments

Comments
 (0)