@@ -20,7 +20,7 @@ struct bpil_array_desc {
2020 */
2121};
2222
23- static struct bpil_array_desc bpil_array_desc [] = {
23+ static const struct bpil_array_desc bpil_array_desc [] = {
2424 [PERF_BPIL_JITED_INSNS ] = {
2525 offsetof(struct bpf_prog_info , jited_prog_insns ),
2626 offsetof(struct bpf_prog_info , jited_prog_len ),
@@ -129,12 +129,10 @@ get_bpf_prog_info_linear(int fd, __u64 arrays)
129129
130130 /* step 2: calculate total size of all arrays */
131131 for (i = PERF_BPIL_FIRST_ARRAY ; i < PERF_BPIL_LAST_ARRAY ; ++ i ) {
132+ const struct bpil_array_desc * desc = & bpil_array_desc [i ];
132133 bool include_array = (arrays & (1UL << i )) > 0 ;
133- struct bpil_array_desc * desc ;
134134 __u32 count , size ;
135135
136- desc = bpil_array_desc + i ;
137-
138136 /* kernel is too old to support this field */
139137 if (info_len < desc -> array_offset + sizeof (__u32 ) ||
140138 info_len < desc -> count_offset + sizeof (__u32 ) ||
@@ -163,13 +161,12 @@ get_bpf_prog_info_linear(int fd, __u64 arrays)
163161 ptr = info_linear -> data ;
164162
165163 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 ] ;
167165 __u32 count , size ;
168166
169167 if ((arrays & (1UL << i )) == 0 )
170168 continue ;
171169
172- desc = bpil_array_desc + i ;
173170 count = bpf_prog_info_read_offset_u32 (& info , desc -> count_offset );
174171 size = bpf_prog_info_read_offset_u32 (& info , desc -> size_offset );
175172 bpf_prog_info_set_offset_u32 (& info_linear -> info ,
@@ -192,13 +189,12 @@ get_bpf_prog_info_linear(int fd, __u64 arrays)
192189
193190 /* step 6: verify the data */
194191 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 ] ;
196193 __u32 v1 , v2 ;
197194
198195 if ((arrays & (1UL << i )) == 0 )
199196 continue ;
200197
201- desc = bpil_array_desc + i ;
202198 v1 = bpf_prog_info_read_offset_u32 (& info , desc -> count_offset );
203199 v2 = bpf_prog_info_read_offset_u32 (& info_linear -> info ,
204200 desc -> count_offset );
@@ -224,13 +220,12 @@ void bpil_addr_to_offs(struct perf_bpil *info_linear)
224220 int i ;
225221
226222 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 ] ;
228224 __u64 addr , offs ;
229225
230226 if ((info_linear -> arrays & (1UL << i )) == 0 )
231227 continue ;
232228
233- desc = bpil_array_desc + i ;
234229 addr = bpf_prog_info_read_offset_u64 (& info_linear -> info ,
235230 desc -> array_offset );
236231 offs = addr - ptr_to_u64 (info_linear -> data );
@@ -244,13 +239,12 @@ void bpil_offs_to_addr(struct perf_bpil *info_linear)
244239 int i ;
245240
246241 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 ] ;
248243 __u64 addr , offs ;
249244
250245 if ((info_linear -> arrays & (1UL << i )) == 0 )
251246 continue ;
252247
253- desc = bpil_array_desc + i ;
254248 offs = bpf_prog_info_read_offset_u64 (& info_linear -> info ,
255249 desc -> array_offset );
256250 addr = offs + ptr_to_u64 (info_linear -> data );
0 commit comments