Lines Matching defs:info_linear

114 	struct perf_bpil *info_linear;
156 info_linear = malloc(sizeof(struct perf_bpil) + data_len);
157 if (!info_linear)
160 /* step 4: fill data to info_linear->info */
161 info_linear->arrays = arrays;
162 memset(&info_linear->info, 0, sizeof(info));
163 ptr = info_linear->data;
174 bpf_prog_info_set_offset_u32(&info_linear->info,
176 bpf_prog_info_set_offset_u32(&info_linear->info,
178 assert(ptr >= info_linear->data);
179 assert(ptr < &info_linear->data[data_len]);
180 bpf_prog_info_set_offset_u64(&info_linear->info,
187 err = bpf_obj_get_info_by_fd(fd, &info_linear->info, &info_len);
190 free(info_linear);
193 if (info_linear->info.type >= __MAX_BPF_PROG_TYPE) {
195 __func__, __LINE__, info_linear->info.type);
199 ptr = info_linear->data;
209 count2 = bpf_prog_info_read_offset_u32(&info_linear->info,
213 free(info_linear);
218 size2 = bpf_prog_info_read_offset_u32(&info_linear->info,
222 free(info_linear);
225 ptr2 = bpf_prog_info_read_offset_u64(&info_linear->info, desc->array_offset);
228 free(info_linear);
235 info_linear->info_len = sizeof(struct bpf_prog_info);
236 info_linear->data_len = data_len;
238 return info_linear;
241 void bpil_addr_to_offs(struct perf_bpil *info_linear)
249 if ((info_linear->arrays & (1UL << i)) == 0)
252 addr = bpf_prog_info_read_offset_u64(&info_linear->info,
254 offs = addr - ptr_to_u64(info_linear->data);
255 bpf_prog_info_set_offset_u64(&info_linear->info,
260 void bpil_offs_to_addr(struct perf_bpil *info_linear)
269 if ((info_linear->arrays & (1UL << i)) == 0)
272 offs = bpf_prog_info_read_offset_u64(&info_linear->info,
274 count = bpf_prog_info_read_offset_u32(&info_linear->info,
276 size = bpf_prog_info_read_offset_u32(&info_linear->info,
279 if (offs >= info_linear->data_len ||
280 (u64)count * size > info_linear->data_len - offs) {
281 bpf_prog_info_set_offset_u64(&info_linear->info,
283 bpf_prog_info_set_offset_u32(&info_linear->info,
286 info_linear->arrays &= ~(1UL << i);
289 addr = offs + ptr_to_u64(info_linear->data);
290 bpf_prog_info_set_offset_u64(&info_linear->info,