@@ -20,7 +20,7 @@ struct bpil_array_desc {
20
20
*/
21
21
};
22
22
23
- static struct bpil_array_desc bpil_array_desc [] = {
23
+ static const struct bpil_array_desc bpil_array_desc [] = {
24
24
[PERF_BPIL_JITED_INSNS ] = {
25
25
offsetof(struct bpf_prog_info , jited_prog_insns ),
26
26
offsetof(struct bpf_prog_info , jited_prog_len ),
@@ -129,12 +129,10 @@ get_bpf_prog_info_linear(int fd, __u64 arrays)
129
129
130
130
/* step 2: calculate total size of all arrays */
131
131
for (i = PERF_BPIL_FIRST_ARRAY ; i < PERF_BPIL_LAST_ARRAY ; ++ i ) {
132
+ const struct bpil_array_desc * desc = & bpil_array_desc [i ];
132
133
bool include_array = (arrays & (1UL << i )) > 0 ;
133
- struct bpil_array_desc * desc ;
134
134
__u32 count , size ;
135
135
136
- desc = bpil_array_desc + i ;
137
-
138
136
/* kernel is too old to support this field */
139
137
if (info_len < desc -> array_offset + sizeof (__u32 ) ||
140
138
info_len < desc -> count_offset + sizeof (__u32 ) ||
@@ -163,13 +161,12 @@ get_bpf_prog_info_linear(int fd, __u64 arrays)
163
161
ptr = info_linear -> data ;
164
162
165
163
for (i = PERF_BPIL_FIRST_ARRAY ; i < PERF_BPIL_LAST_ARRAY ; ++ i ) {
166
- struct bpil_array_desc * desc ;
164
+ const struct bpil_array_desc * desc = & bpil_array_desc [ i ] ;
167
165
__u32 count , size ;
168
166
169
167
if ((arrays & (1UL << i )) == 0 )
170
168
continue ;
171
169
172
- desc = bpil_array_desc + i ;
173
170
count = bpf_prog_info_read_offset_u32 (& info , desc -> count_offset );
174
171
size = bpf_prog_info_read_offset_u32 (& info , desc -> size_offset );
175
172
bpf_prog_info_set_offset_u32 (& info_linear -> info ,
@@ -192,13 +189,12 @@ get_bpf_prog_info_linear(int fd, __u64 arrays)
192
189
193
190
/* step 6: verify the data */
194
191
for (i = PERF_BPIL_FIRST_ARRAY ; i < PERF_BPIL_LAST_ARRAY ; ++ i ) {
195
- struct bpil_array_desc * desc ;
192
+ const struct bpil_array_desc * desc = & bpil_array_desc [ i ] ;
196
193
__u32 v1 , v2 ;
197
194
198
195
if ((arrays & (1UL << i )) == 0 )
199
196
continue ;
200
197
201
- desc = bpil_array_desc + i ;
202
198
v1 = bpf_prog_info_read_offset_u32 (& info , desc -> count_offset );
203
199
v2 = bpf_prog_info_read_offset_u32 (& info_linear -> info ,
204
200
desc -> count_offset );
@@ -224,13 +220,12 @@ void bpil_addr_to_offs(struct perf_bpil *info_linear)
224
220
int i ;
225
221
226
222
for (i = PERF_BPIL_FIRST_ARRAY ; i < PERF_BPIL_LAST_ARRAY ; ++ i ) {
227
- struct bpil_array_desc * desc ;
223
+ const struct bpil_array_desc * desc = & bpil_array_desc [ i ] ;
228
224
__u64 addr , offs ;
229
225
230
226
if ((info_linear -> arrays & (1UL << i )) == 0 )
231
227
continue ;
232
228
233
- desc = bpil_array_desc + i ;
234
229
addr = bpf_prog_info_read_offset_u64 (& info_linear -> info ,
235
230
desc -> array_offset );
236
231
offs = addr - ptr_to_u64 (info_linear -> data );
@@ -244,13 +239,12 @@ void bpil_offs_to_addr(struct perf_bpil *info_linear)
244
239
int i ;
245
240
246
241
for (i = PERF_BPIL_FIRST_ARRAY ; i < PERF_BPIL_LAST_ARRAY ; ++ i ) {
247
- struct bpil_array_desc * desc ;
242
+ const struct bpil_array_desc * desc = & bpil_array_desc [ i ] ;
248
243
__u64 addr , offs ;
249
244
250
245
if ((info_linear -> arrays & (1UL << i )) == 0 )
251
246
continue ;
252
247
253
- desc = bpil_array_desc + i ;
254
248
offs = bpf_prog_info_read_offset_u64 (& info_linear -> info ,
255
249
desc -> array_offset );
256
250
addr = offs + ptr_to_u64 (info_linear -> data );
0 commit comments